@szymonpiatek/nextwordpress 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/url/url.ts","../src/client/types/types.ts","../src/client/fetcher/fetcher.ts","../src/integrations/base/posts/queries.ts","../src/integrations/base/categories/queries.ts","../src/integrations/base/tags/queries.ts","../src/integrations/base/authors/queries.ts","../src/integrations/base/media/queries.ts","../src/integrations/base/pages/queries.ts","../src/integrations/base/index.ts","../src/integrations/woocommerce/omnibus/queries.ts","../src/integrations/woocommerce/client/fetcher.ts","../src/integrations/woocommerce/products/queries.ts","../src/integrations/woocommerce/categories/queries.ts","../src/integrations/woocommerce/tags/queries.ts","../src/integrations/woocommerce/orders/queries.ts","../src/integrations/woocommerce/coupons/queries.ts","../src/integrations/woocommerce/customers/queries.ts","../src/integrations/woocommerce/index.ts"],"names":["USER_AGENT","buildUrl","createCategoriesQueries","createTagsQueries"],"mappings":"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","file":"index.js","sourcesContent":["import type { NextWordpressConfig } from '../types/types';\n\nexport function resolveBaseUrl(config: NextWordpressConfig): string {\n return typeof window === 'undefined' ? config.serverURL : config.clientURL;\n}\n\nexport function buildUrl(\n config: NextWordpressConfig,\n path: string,\n query?: Record<string, unknown>,\n): string {\n const base = resolveBaseUrl(config);\n if (!query) return `${base}${path}`;\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined && value !== null) {\n params.set(key, String(value));\n }\n }\n const qs = params.toString();\n return qs ? `${base}${path}?${qs}` : `${base}${path}`;\n}\n","export interface NextWordpressConfig {\n /** Used in server components / SSR (e.g., internal Docker hostname). */\n serverURL: string;\n /** Used in browser / client components (e.g., public domain). */\n clientURL: string;\n}\n\nexport interface WordPressPaginationHeaders {\n total: number;\n totalPages: number;\n}\n\nexport interface WordPressResponse<T> {\n data: T;\n headers: WordPressPaginationHeaders;\n}\n\nexport class WordPressAPIError extends Error {\n constructor(\n message: string,\n public status: number,\n public endpoint: string,\n ) {\n super(message);\n this.name = 'WordPressAPIError';\n }\n}\n","import type { NextWordpressConfig, WordPressResponse } from '../types/types';\nimport { WordPressAPIError } from '../types/types';\nimport { buildUrl } from '../url/url';\n\nconst USER_AGENT = 'NextWordpress Client';\n\ninterface NextRequestInit extends RequestInit {\n next?: {\n revalidate?: number | false;\n tags?: string[];\n };\n}\n\nasync function doFetch(url: string, init: NextRequestInit = {}): Promise<Response> {\n const response = await fetch(url, init);\n if (!response.ok) {\n throw new WordPressAPIError(\n `WordPress API request failed: ${response.statusText}`,\n response.status,\n url,\n );\n }\n return response;\n}\n\nexport function createFetcher(config: NextWordpressConfig) {\n const cacheTtl = 300;\n\n async function wpFetch<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['wordpress'],\n ): Promise<T> {\n const url = buildUrl(config, path, query);\n const res = await doFetch(url, {\n headers: { 'User-Agent': USER_AGENT },\n next: { tags, revalidate: cacheTtl },\n } as NextRequestInit);\n return (await res.json()) as T;\n }\n\n async function wpFetchGraceful<T>(\n path: string,\n fallback: T,\n query?: Record<string, unknown>,\n tags: string[] = ['wordpress'],\n ): Promise<T> {\n try {\n return await wpFetch<T>(path, query, tags);\n } catch {\n console.warn(`WordPress fetch failed for ${path}`);\n return fallback;\n }\n }\n\n async function wpFetchPaginated<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['wordpress'],\n ): Promise<WordPressResponse<T[]>> {\n const url = buildUrl(config, path, query);\n const res = await doFetch(url, {\n headers: { 'User-Agent': USER_AGENT },\n next: { tags, revalidate: cacheTtl },\n } as NextRequestInit);\n return {\n data: (await res.json()) as T[],\n headers: {\n total: parseInt(res.headers.get('X-WP-Total') ?? '0', 10),\n totalPages: parseInt(res.headers.get('X-WP-TotalPages') ?? '0', 10),\n },\n };\n }\n\n async function wpFetchPaginatedGraceful<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['wordpress'],\n ): Promise<WordPressResponse<T[]>> {\n const empty: WordPressResponse<T[]> = { data: [], headers: { total: 0, totalPages: 0 } };\n try {\n return await wpFetchPaginated<T>(path, query, tags);\n } catch {\n console.warn(`WordPress paginated fetch failed for ${path}`);\n return empty;\n }\n }\n\n async function wpMutate<T>(\n path: string,\n body: unknown,\n method: 'POST' | 'PUT' | 'PATCH' | 'DELETE' = 'POST',\n ): Promise<T> {\n const url = buildUrl(config, path);\n const res = await doFetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': USER_AGENT,\n },\n body: JSON.stringify(body),\n cache: 'no-store',\n });\n return (await res.json()) as T;\n }\n\n return { wpFetch, wpFetchGraceful, wpFetchPaginated, wpFetchPaginatedGraceful, wpMutate };\n}\n\nexport type WordPressFetcher = ReturnType<typeof createFetcher>;\n","import type { WordPressFetcher, WordPressResponse } from '@client';\nimport type { Post } from './types';\n\nexport function createPostsQueries(fetcher: WordPressFetcher) {\n const { wpFetch, wpFetchGraceful, wpFetchPaginated, wpFetchPaginatedGraceful } = fetcher;\n\n async function getPostsPaginated(\n page: number = 1,\n perPage: number = 9,\n filterParams?: {\n author?: string;\n tag?: string;\n category?: string;\n search?: string;\n },\n ): Promise<WordPressResponse<Post[]>> {\n const query: Record<string, unknown> = { _embed: true, per_page: perPage, page };\n const cacheTags = ['wordpress', 'posts', `posts-page-${page}`];\n\n if (filterParams?.search) { query.search = filterParams.search; cacheTags.push('posts-search'); }\n if (filterParams?.author) { query.author = filterParams.author; cacheTags.push(`posts-author-${filterParams.author}`); }\n if (filterParams?.tag) { query.tags = filterParams.tag; cacheTags.push(`posts-tag-${filterParams.tag}`); }\n if (filterParams?.category) { query.categories = filterParams.category; cacheTags.push(`posts-category-${filterParams.category}`); }\n\n return wpFetchPaginatedGraceful<Post>('/wp-json/wp/v2/posts', query, cacheTags);\n }\n\n async function getRecentPosts(filterParams?: {\n author?: string;\n tag?: string;\n category?: string;\n search?: string;\n }): Promise<Post[]> {\n const query: Record<string, unknown> = { _embed: true, per_page: 100 };\n if (filterParams?.search) query.search = filterParams.search;\n if (filterParams?.author) query.author = filterParams.author;\n if (filterParams?.tag) query.tags = filterParams.tag;\n if (filterParams?.category) query.categories = filterParams.category;\n return wpFetchGraceful<Post[]>('/wp-json/wp/v2/posts', [], query, ['wordpress', 'posts']);\n }\n\n async function getPostById(id: number): Promise<Post> {\n return wpFetch<Post>(`/wp-json/wp/v2/posts/${id}`);\n }\n\n async function getPostBySlug(slug: string): Promise<Post | undefined> {\n const posts = await wpFetchGraceful<Post[]>('/wp-json/wp/v2/posts', [], { slug, _embed: true });\n return posts[0];\n }\n\n async function getPostsByCategory(categoryId: number): Promise<Post[]> {\n return wpFetch<Post[]>('/wp-json/wp/v2/posts', { categories: categoryId });\n }\n\n async function getPostsByTag(tagId: number): Promise<Post[]> {\n return wpFetch<Post[]>('/wp-json/wp/v2/posts', { tags: tagId });\n }\n\n async function getPostsByAuthor(authorId: number): Promise<Post[]> {\n return wpFetch<Post[]>('/wp-json/wp/v2/posts', { author: authorId });\n }\n\n async function getPostsByCategoryPaginated(\n categoryId: number,\n page: number = 1,\n perPage: number = 9,\n ): Promise<WordPressResponse<Post[]>> {\n return wpFetchPaginatedGraceful<Post>('/wp-json/wp/v2/posts', {\n _embed: true, per_page: perPage, page, categories: categoryId,\n });\n }\n\n async function getPostsByTagPaginated(\n tagId: number,\n page: number = 1,\n perPage: number = 9,\n ): Promise<WordPressResponse<Post[]>> {\n return wpFetchPaginatedGraceful<Post>('/wp-json/wp/v2/posts', {\n _embed: true, per_page: perPage, page, tags: tagId,\n });\n }\n\n async function getPostsByAuthorPaginated(\n authorId: number,\n page: number = 1,\n perPage: number = 9,\n ): Promise<WordPressResponse<Post[]>> {\n return wpFetchPaginatedGraceful<Post>('/wp-json/wp/v2/posts', {\n _embed: true, per_page: perPage, page, author: authorId,\n });\n }\n\n async function getAllPostSlugs(): Promise<{ slug: string }[]> {\n try {\n const allSlugs: { slug: string }[] = [];\n let page = 1;\n let hasMore = true;\n while (hasMore) {\n const response = await wpFetchPaginated<Post>(\n '/wp-json/wp/v2/posts',\n { per_page: 100, page, _fields: 'slug' },\n );\n allSlugs.push(...response.data.map((post) => ({ slug: post.slug })));\n hasMore = page < response.headers.totalPages;\n page++;\n }\n return allSlugs;\n } catch {\n console.warn('WordPress unavailable, skipping static generation for posts');\n return [];\n }\n }\n\n async function getAllPostsForSitemap(): Promise<{ slug: string; modified: string }[]> {\n try {\n const allPosts: { slug: string; modified: string }[] = [];\n let page = 1;\n let hasMore = true;\n while (hasMore) {\n const response = await wpFetchPaginated<Post>(\n '/wp-json/wp/v2/posts',\n { per_page: 100, page, _fields: 'slug,modified' },\n );\n allPosts.push(...response.data.map((post) => ({ slug: post.slug, modified: post.modified })));\n hasMore = page < response.headers.totalPages;\n page++;\n }\n return allPosts;\n } catch {\n console.warn('WordPress unavailable, skipping sitemap generation');\n return [];\n }\n }\n\n return {\n getPostsPaginated,\n getRecentPosts,\n getPostById,\n getPostBySlug,\n getPostsByCategory,\n getPostsByTag,\n getPostsByAuthor,\n getPostsByCategoryPaginated,\n getPostsByTagPaginated,\n getPostsByAuthorPaginated,\n getAllPostSlugs,\n getAllPostsForSitemap,\n };\n}\n","import type { WordPressFetcher } from '@client';\nimport type { Category } from './types';\n\nexport function createCategoriesQueries(fetcher: WordPressFetcher) {\n const { wpFetch, wpFetchGraceful } = fetcher;\n\n async function getAllCategories(): Promise<Category[]> {\n return wpFetchGraceful<Category[]>('/wp-json/wp/v2/categories', [], { per_page: 100 }, [\n 'wordpress',\n 'categories',\n ]);\n }\n\n async function getCategoryById(id: number): Promise<Category> {\n return wpFetch<Category>(`/wp-json/wp/v2/categories/${id}`);\n }\n\n async function getCategoryBySlug(slug: string): Promise<Category> {\n const categories = await wpFetch<Category[]>('/wp-json/wp/v2/categories', { slug });\n return categories[0];\n }\n\n async function searchCategories(query: string): Promise<Category[]> {\n return wpFetchGraceful<Category[]>('/wp-json/wp/v2/categories', [], {\n search: query,\n per_page: 100,\n });\n }\n\n return { getAllCategories, getCategoryById, getCategoryBySlug, searchCategories };\n}\n","import type { WordPressFetcher } from '@client';\nimport type { Tag } from './types';\n\nexport function createTagsQueries(fetcher: WordPressFetcher) {\n const { wpFetch, wpFetchGraceful } = fetcher;\n\n async function getAllTags(): Promise<Tag[]> {\n return wpFetchGraceful<Tag[]>('/wp-json/wp/v2/tags', [], { per_page: 100 }, [\n 'wordpress',\n 'tags',\n ]);\n }\n\n async function getTagById(id: number): Promise<Tag> {\n return wpFetch<Tag>(`/wp-json/wp/v2/tags/${id}`);\n }\n\n async function getTagBySlug(slug: string): Promise<Tag> {\n const tags = await wpFetch<Tag[]>('/wp-json/wp/v2/tags', { slug });\n return tags[0];\n }\n\n async function getTagsByPost(postId: number): Promise<Tag[]> {\n return wpFetch<Tag[]>('/wp-json/wp/v2/tags', { post: postId });\n }\n\n async function searchTags(query: string): Promise<Tag[]> {\n return wpFetchGraceful<Tag[]>('/wp-json/wp/v2/tags', [], { search: query, per_page: 100 });\n }\n\n return { getAllTags, getTagById, getTagBySlug, getTagsByPost, searchTags };\n}\n","import type { WordPressFetcher } from '@client';\nimport type { Author } from './types';\n\nexport function createAuthorsQueries(fetcher: WordPressFetcher) {\n const { wpFetch, wpFetchGraceful } = fetcher;\n\n async function getAllAuthors(): Promise<Author[]> {\n return wpFetchGraceful<Author[]>('/wp-json/wp/v2/users', [], { per_page: 100 }, [\n 'wordpress',\n 'authors',\n ]);\n }\n\n async function getAuthorById(id: number): Promise<Author> {\n return wpFetch<Author>(`/wp-json/wp/v2/users/${id}`);\n }\n\n async function getAuthorBySlug(slug: string): Promise<Author> {\n const users = await wpFetch<Author[]>('/wp-json/wp/v2/users', { slug });\n return users[0];\n }\n\n async function searchAuthors(query: string): Promise<Author[]> {\n return wpFetchGraceful<Author[]>('/wp-json/wp/v2/users', [], { search: query, per_page: 100 });\n }\n\n return { getAllAuthors, getAuthorById, getAuthorBySlug, searchAuthors };\n}\n","import type { WordPressFetcher } from '@client';\nimport type { FeaturedMedia } from './types';\n\nexport function createMediaQueries(fetcher: WordPressFetcher) {\n const { wpFetch } = fetcher;\n\n async function getFeaturedMediaById(id: number): Promise<FeaturedMedia> {\n return wpFetch<FeaturedMedia>(`/wp-json/wp/v2/media/${id}`);\n }\n\n return { getFeaturedMediaById };\n}\n","import type { WordPressFetcher } from '@client';\nimport type { Page } from './types';\n\nexport function createPagesQueries(fetcher: WordPressFetcher) {\n const { wpFetch, wpFetchGraceful } = fetcher;\n\n async function getAllPages(): Promise<Page[]> {\n return wpFetchGraceful<Page[]>('/wp-json/wp/v2/pages', [], { per_page: 100 }, [\n 'wordpress',\n 'pages',\n ]);\n }\n\n async function getPageById(id: number): Promise<Page> {\n return wpFetch<Page>(`/wp-json/wp/v2/pages/${id}`);\n }\n\n async function getPageBySlug(slug: string): Promise<Page | undefined> {\n const pages = await wpFetchGraceful<Page[]>('/wp-json/wp/v2/pages', [], { slug });\n return pages[0];\n }\n\n return { getAllPages, getPageById, getPageBySlug };\n}\n","export type { Post, PostEmbedded } from '@base/posts';\nexport type { Category } from '@base/categories';\nexport type { Tag } from '@base/tags';\nexport type { Author, EmbeddedAuthor, EmbeddedTerm } from '@base/authors';\nexport type { FeaturedMedia, MediaDetails, MediaSize } from '@base/media';\nexport type { Page } from '@base/pages';\nexport * from '@base/blocks';\n\nimport { createFetcher, type NextWordpressConfig } from '@client';\nimport { createPostsQueries } from '@base/posts';\nimport { createCategoriesQueries } from '@base/categories';\nimport { createTagsQueries } from '@base/tags';\nimport { createAuthorsQueries } from '@base/authors';\nimport { createMediaQueries } from '@base/media';\nimport { createPagesQueries } from '@base/pages';\n\nexport function createWordPressClient(config: NextWordpressConfig) {\n const fetcher = createFetcher(config);\n\n return {\n ...createPostsQueries(fetcher),\n ...createCategoriesQueries(fetcher),\n ...createTagsQueries(fetcher),\n ...createAuthorsQueries(fetcher),\n ...createMediaQueries(fetcher),\n ...createPagesQueries(fetcher),\n };\n}\n","import type { WCProduct, WCProductVariation } from '@woocommerce/products';\nimport type {\n OmnibusProductData,\n OmnibusPriceEntry,\n WCProductWithOmnibus,\n WCProductVariationWithOmnibus,\n} from './types';\n\nconst META_KEY_LOWEST_PRICE = 'wpo_lowest_price';\nconst META_KEY_PRICE_HISTORY = '_alg_wc_price_history';\n\nfunction extractMetaValue<T>(\n meta_data: Array<{ id: number; key: string; value: unknown }>,\n key: string,\n): T | undefined {\n return meta_data.find((m) => m.key === key)?.value as T | undefined;\n}\n\nfunction parseHistory(raw: unknown): OmnibusPriceEntry[] {\n if (!raw || typeof raw !== 'object') return [];\n\n if (Array.isArray(raw)) {\n return raw\n .filter((e) => e && typeof e.price === 'string' && typeof e.date === 'string')\n .map((e) => ({ price: e.price as string, date: e.date as string }));\n }\n\n // Object keyed by date: { \"2024-01-01\": \"99.00\", ... }\n return Object.entries(raw as Record<string, string>)\n .map(([date, price]) => ({ date, price }))\n .sort((a, b) => a.date.localeCompare(b.date));\n}\n\nexport function extractOmnibusData(\n meta_data: Array<{ id: number; key: string; value: unknown }>,\n): OmnibusProductData {\n const lowestPrice = extractMetaValue<string>(meta_data, META_KEY_LOWEST_PRICE) ?? null;\n const rawHistory = extractMetaValue<unknown>(meta_data, META_KEY_PRICE_HISTORY);\n const priceHistory = parseHistory(rawHistory);\n\n return { lowestPrice, priceHistory };\n}\n\nexport function withOmnibus(product: WCProduct): WCProductWithOmnibus {\n return { ...product, omnibus: extractOmnibusData(product.meta_data) };\n}\n\nexport function withOmnibusVariation(variation: WCProductVariation & { meta_data?: Array<{ id: number; key: string; value: unknown }> }): WCProductVariationWithOmnibus {\n return {\n ...variation,\n omnibus: extractOmnibusData(variation.meta_data ?? []),\n };\n}\n","import type { WooCommerceConfig, WooCommerceResponse } from './types';\n\nconst USER_AGENT = 'NextWordpress WooCommerce Client';\nconst DEFAULT_CACHE_TTL = 3600;\n\ninterface NextRequestInit extends RequestInit {\n next?: {\n revalidate?: number | false;\n tags?: string[];\n };\n}\n\nfunction toQueryString(params: Record<string, unknown>): string {\n const pairs: string[] = [];\n for (const [key, value] of Object.entries(params)) {\n if (value === undefined || value === null) continue;\n pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n return pairs.join('&');\n}\n\nexport function createWooCommerceFetcher(config: WooCommerceConfig) {\n const cacheTTL = config.cacheTTL ?? DEFAULT_CACHE_TTL;\n\n function withAuth(query?: Record<string, unknown>): Record<string, unknown> {\n return { ...query, consumer_key: config.consumerKey, consumer_secret: config.consumerSecret };\n }\n\n function buildUrl(path: string, query?: Record<string, unknown>): string {\n return `${config.serverURL}${path}?${toQueryString(withAuth(query))}`;\n }\n\n async function wcFetch<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['woocommerce'],\n options?: RequestInit,\n ): Promise<T> {\n const url = buildUrl(path, query);\n const isMutation = options?.method && options.method !== 'GET';\n const noStore = options?.cache === 'no-store';\n\n const response = await fetch(url, {\n ...options,\n headers: {\n 'User-Agent': USER_AGENT,\n 'Content-Type': 'application/json',\n ...(options?.headers as Record<string, string>),\n },\n next: isMutation || noStore ? undefined : { tags, revalidate: cacheTTL },\n } as NextRequestInit);\n\n if (!response.ok) {\n const body = (await response.json().catch(() => ({}))) as { message?: string };\n const detail = body.message ? ` – ${body.message}` : '';\n throw new Error(`WooCommerce API ${response.status}: ${response.statusText}${detail} [${url}]`);\n }\n\n return response.json() as Promise<T>;\n }\n\n async function wcFetchGraceful<T>(\n path: string,\n fallback: T,\n query?: Record<string, unknown>,\n tags: string[] = ['woocommerce'],\n ): Promise<T> {\n try {\n return await wcFetch<T>(path, query, tags);\n } catch (err) {\n console.warn(`WooCommerce fetch failed for ${path}`, err);\n return fallback;\n }\n }\n\n async function wcFetchPaginated<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['woocommerce'],\n ): Promise<WooCommerceResponse<T[]>> {\n const url = buildUrl(path, query);\n\n const response = await fetch(url, {\n headers: { 'User-Agent': USER_AGENT },\n next: { tags, revalidate: cacheTTL },\n } as NextRequestInit);\n\n if (!response.ok) {\n throw new Error(`WooCommerce API ${response.status}: ${response.statusText} [${url}]`);\n }\n\n return {\n data: (await response.json()) as T[],\n headers: {\n total: parseInt(response.headers.get('X-WP-Total') ?? '0', 10),\n totalPages: parseInt(response.headers.get('X-WP-TotalPages') ?? '0', 10),\n },\n };\n }\n\n async function wcFetchPaginatedGraceful<T>(\n path: string,\n query?: Record<string, unknown>,\n tags: string[] = ['woocommerce'],\n ): Promise<WooCommerceResponse<T[]>> {\n const empty: WooCommerceResponse<T[]> = { data: [], headers: { total: 0, totalPages: 0 } };\n try {\n return await wcFetchPaginated<T>(path, query, tags);\n } catch (err) {\n console.warn(`WooCommerce paginated fetch failed for ${path}`, err);\n return empty;\n }\n }\n\n async function wcMutate<T>(\n path: string,\n body: unknown,\n method: 'POST' | 'PUT' | 'PATCH' | 'DELETE' = 'POST',\n ): Promise<T> {\n return wcFetch<T>(path, undefined, ['woocommerce'], {\n method,\n body: JSON.stringify(body),\n });\n }\n\n return { wcFetch, wcFetchGraceful, wcFetchPaginated, wcFetchPaginatedGraceful, wcMutate };\n}\n\nexport type WooCommerceFetcher = ReturnType<typeof createWooCommerceFetcher>;\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WooCommerceResponse } from '@woocommerce/client/types';\nimport type { WCProduct, WCProductFilterParams, WCProductVariation } from './types';\n\nfunction buildProductQuery(\n base: Record<string, unknown>,\n filterParams?: WCProductFilterParams,\n): Record<string, unknown> {\n const query = { ...base };\n if (!filterParams) return query;\n\n if (filterParams.category !== undefined) query.category = filterParams.category;\n if (filterParams.tag !== undefined) query.tag = filterParams.tag;\n if (filterParams.featured !== undefined) query.featured = filterParams.featured;\n if (filterParams.on_sale !== undefined) query.on_sale = filterParams.on_sale;\n if (filterParams.min_price !== undefined) query.min_price = filterParams.min_price;\n if (filterParams.max_price !== undefined) query.max_price = filterParams.max_price;\n if (filterParams.search !== undefined) query.search = filterParams.search;\n if (filterParams.orderby !== undefined) query.orderby = filterParams.orderby;\n if (filterParams.order !== undefined) query.order = filterParams.order;\n if (filterParams.stock_status !== undefined) query.stock_status = filterParams.stock_status;\n if (filterParams.type !== undefined) query.type = filterParams.type;\n\n return query;\n}\n\nexport function createProductsQueries(fetcher: WooCommerceFetcher) {\n const { wcFetch, wcFetchGraceful, wcFetchPaginated, wcFetchPaginatedGraceful } = fetcher;\n\n async function getProducts(filterParams?: WCProductFilterParams): Promise<WCProduct[]> {\n const query = buildProductQuery({ per_page: 100, status: 'publish' }, filterParams);\n return wcFetchGraceful<WCProduct[]>('/wp-json/wc/v3/products', [], query, [\n 'woocommerce',\n 'products',\n ]);\n }\n\n async function getProductsPaginated(\n page: number = 1,\n perPage: number = 12,\n filterParams?: WCProductFilterParams,\n ): Promise<WooCommerceResponse<WCProduct[]>> {\n const query = buildProductQuery({ per_page: perPage, page, status: 'publish' }, filterParams);\n const cacheTags = ['woocommerce', 'products', `products-page-${page}`];\n\n if (filterParams?.category) cacheTags.push(`products-category-${filterParams.category}`);\n if (filterParams?.tag) cacheTags.push(`products-tag-${filterParams.tag}`);\n if (filterParams?.search) cacheTags.push('products-search');\n\n return wcFetchPaginatedGraceful<WCProduct>('/wp-json/wc/v3/products', query, cacheTags);\n }\n\n async function getProductById(id: number): Promise<WCProduct> {\n return wcFetch<WCProduct>(`/wp-json/wc/v3/products/${id}`, undefined, [\n 'woocommerce',\n 'products',\n `product-${id}`,\n ]);\n }\n\n async function getProductBySlug(slug: string): Promise<WCProduct | undefined> {\n const products = await wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { slug },\n ['woocommerce', 'products', `product-slug-${slug}`],\n );\n return products[0];\n }\n\n async function getFeaturedProducts(limit: number = 10): Promise<WCProduct[]> {\n return wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { featured: true, per_page: limit, status: 'publish' },\n ['woocommerce', 'products', 'featured'],\n );\n }\n\n async function getOnSaleProducts(limit: number = 10): Promise<WCProduct[]> {\n return wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { on_sale: true, per_page: limit, status: 'publish' },\n ['woocommerce', 'products', 'on-sale'],\n );\n }\n\n async function getRelatedProducts(productId: number): Promise<WCProduct[]> {\n const product = await getProductById(productId);\n if (!product.related_ids.length) return [];\n\n return wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { include: product.related_ids.join(','), per_page: 10, status: 'publish' },\n ['woocommerce', 'products', `related-${productId}`],\n );\n }\n\n async function getAllProductSlugs(): Promise<{ slug: string }[]> {\n try {\n const allSlugs: { slug: string }[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const response = await wcFetchPaginated<WCProduct>('/wp-json/wc/v3/products', {\n per_page: 100,\n page,\n status: 'publish',\n _fields: 'slug',\n });\n\n allSlugs.push(...response.data.map((p) => ({ slug: p.slug })));\n hasMore = page < response.headers.totalPages;\n page++;\n }\n\n return allSlugs;\n } catch {\n console.warn('WooCommerce unavailable, skipping static generation for products');\n return [];\n }\n }\n\n async function getProductVariations(productId: number): Promise<WCProductVariation[]> {\n return wcFetchGraceful<WCProductVariation[]>(\n `/wp-json/wc/v3/products/${productId}/variations`,\n [],\n { per_page: 100 },\n ['woocommerce', 'products', `product-${productId}`, 'variations'],\n );\n }\n\n async function getProductVariationById(\n productId: number,\n variationId: number,\n ): Promise<WCProductVariation> {\n return wcFetch<WCProductVariation>(\n `/wp-json/wc/v3/products/${productId}/variations/${variationId}`,\n undefined,\n ['woocommerce', 'products', `product-${productId}`, `variation-${variationId}`],\n );\n }\n\n return {\n getProducts,\n getProductsPaginated,\n getProductById,\n getProductBySlug,\n getFeaturedProducts,\n getOnSaleProducts,\n getRelatedProducts,\n getAllProductSlugs,\n getProductVariations,\n getProductVariationById,\n };\n}\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WCProduct } from '@woocommerce/products/types';\nimport type { WCProductCategory } from './types';\n\nexport function createCategoriesQueries(fetcher: WooCommerceFetcher) {\n const { wcFetch, wcFetchGraceful } = fetcher;\n\n async function getAllProductCategories(): Promise<WCProductCategory[]> {\n return wcFetchGraceful<WCProductCategory[]>(\n '/wp-json/wc/v3/products/categories',\n [],\n { per_page: 100, hide_empty: false },\n ['woocommerce', 'product-categories'],\n );\n }\n\n async function getProductCategoryById(id: number): Promise<WCProductCategory> {\n return wcFetch<WCProductCategory>(\n `/wp-json/wc/v3/products/categories/${id}`,\n undefined,\n ['woocommerce', 'product-categories', `product-category-${id}`],\n );\n }\n\n async function getProductCategoryBySlug(slug: string): Promise<WCProductCategory | undefined> {\n const categories = await wcFetchGraceful<WCProductCategory[]>(\n '/wp-json/wc/v3/products/categories',\n [],\n { slug },\n ['woocommerce', 'product-categories', `product-category-slug-${slug}`],\n );\n return categories[0];\n }\n\n async function getProductsByCategory(\n categoryId: number,\n limit: number = 100,\n ): Promise<WCProduct[]> {\n return wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { category: categoryId, per_page: limit, status: 'publish' },\n ['woocommerce', 'products', `products-category-${categoryId}`],\n );\n }\n\n async function getProductsByCategorySlug(categorySlug: string): Promise<WCProduct[]> {\n const category = await getProductCategoryBySlug(categorySlug);\n if (!category) return [];\n return getProductsByCategory(category.id);\n }\n\n return {\n getAllProductCategories,\n getProductCategoryById,\n getProductCategoryBySlug,\n getProductsByCategory,\n getProductsByCategorySlug,\n };\n}\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WCProduct } from '@woocommerce/products/types';\nimport type { WCProductTag } from './types';\n\nexport function createTagsQueries(fetcher: WooCommerceFetcher) {\n const { wcFetch, wcFetchGraceful } = fetcher;\n\n async function getAllProductTags(): Promise<WCProductTag[]> {\n return wcFetchGraceful<WCProductTag[]>(\n '/wp-json/wc/v3/products/tags',\n [],\n { per_page: 100 },\n ['woocommerce', 'product-tags'],\n );\n }\n\n async function getProductTagById(id: number): Promise<WCProductTag> {\n return wcFetch<WCProductTag>(`/wp-json/wc/v3/products/tags/${id}`, undefined, [\n 'woocommerce',\n 'product-tags',\n `product-tag-${id}`,\n ]);\n }\n\n async function getProductsByTag(tagId: number, limit: number = 100): Promise<WCProduct[]> {\n return wcFetchGraceful<WCProduct[]>(\n '/wp-json/wc/v3/products',\n [],\n { tag: tagId, per_page: limit },\n ['woocommerce', 'products', `products-tag-${tagId}`],\n );\n }\n\n return {\n getAllProductTags,\n getProductTagById,\n getProductsByTag,\n };\n}\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WCCreateOrderInput, WCOrder } from './types';\n\nexport function createOrdersQueries(fetcher: WooCommerceFetcher) {\n const { wcFetch, wcFetchGraceful, wcMutate } = fetcher;\n\n async function createOrder(input: WCCreateOrderInput): Promise<WCOrder> {\n return wcMutate<WCOrder>('/wp-json/wc/v3/orders', input, 'POST');\n }\n\n async function getOrderById(id: number): Promise<WCOrder> {\n return wcFetch<WCOrder>(`/wp-json/wc/v3/orders/${id}`, undefined, [\n 'woocommerce',\n 'orders',\n `order-${id}`,\n ]);\n }\n\n async function updateOrder(id: number, data: Partial<WCCreateOrderInput>): Promise<WCOrder> {\n return wcMutate<WCOrder>(`/wp-json/wc/v3/orders/${id}`, data, 'PUT');\n }\n\n async function getOrdersByCustomer(customerId: number): Promise<WCOrder[]> {\n return wcFetchGraceful<WCOrder[]>(\n '/wp-json/wc/v3/orders',\n [],\n { customer: customerId, per_page: 100 },\n ['woocommerce', 'orders', `orders-customer-${customerId}`],\n );\n }\n\n return {\n createOrder,\n getOrderById,\n updateOrder,\n getOrdersByCustomer,\n };\n}\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WCCoupon } from './types';\n\nexport function createCouponsQueries(fetcher: WooCommerceFetcher) {\n const { wcFetchGraceful } = fetcher;\n\n async function getCouponByCode(code: string): Promise<WCCoupon | undefined> {\n const coupons = await wcFetchGraceful<WCCoupon[]>(\n '/wp-json/wc/v3/coupons',\n [],\n { code },\n ['woocommerce', 'coupons'],\n );\n return coupons[0];\n }\n\n async function validateCoupon(\n code: string,\n ): Promise<{ valid: boolean; coupon?: WCCoupon; reason?: string }> {\n const coupon = await getCouponByCode(code);\n\n if (!coupon) return { valid: false, reason: 'Coupon not found' };\n\n if (coupon.date_expires) {\n const expiry = new Date(coupon.date_expires);\n if (expiry < new Date()) return { valid: false, reason: 'Coupon has expired', coupon };\n }\n\n if (coupon.usage_limit !== null && coupon.usage_count >= coupon.usage_limit) {\n return { valid: false, reason: 'Coupon usage limit reached', coupon };\n }\n\n return { valid: true, coupon };\n }\n\n return {\n getCouponByCode,\n validateCoupon,\n };\n}\n","import type { WooCommerceFetcher } from '@woocommerce/client/fetcher';\nimport type { WCAddress } from '@woocommerce/shared/types';\nimport type { WCCustomer } from './types';\n\nexport function createCustomersQueries(fetcher: WooCommerceFetcher) {\n const { wcFetch, wcFetchGraceful } = fetcher;\n\n async function getCustomerById(id: number): Promise<WCCustomer> {\n return wcFetch<WCCustomer>(`/wp-json/wc/v3/customers/${id}`, undefined, [\n 'woocommerce',\n 'customers',\n `customer-${id}`,\n ]);\n }\n\n async function getCustomerByEmail(email: string): Promise<WCCustomer | undefined> {\n const customers = await wcFetchGraceful<WCCustomer[]>(\n '/wp-json/wc/v3/customers',\n [],\n { email },\n ['woocommerce', 'customers'],\n );\n return customers[0];\n }\n\n async function getCustomerByEmailNoCache(email: string): Promise<WCCustomer | undefined> {\n try {\n const customers = await wcFetch<WCCustomer[]>(\n '/wp-json/wc/v3/customers',\n { email },\n ['woocommerce', 'customers'],\n { cache: 'no-store' },\n );\n return customers[0];\n } catch {\n return undefined;\n }\n }\n\n async function createCustomer(\n data: Pick<WCCustomer, 'email' | 'first_name' | 'last_name'> & {\n username?: string;\n password?: string;\n billing?: Partial<WCAddress>;\n shipping?: Partial<Omit<WCAddress, 'email' | 'phone'>>;\n },\n ): Promise<WCCustomer> {\n return wcFetch<WCCustomer>(\n '/wp-json/wc/v3/customers',\n undefined,\n ['woocommerce', 'customers'],\n { method: 'POST', body: JSON.stringify(data) },\n );\n }\n\n return {\n getCustomerById,\n getCustomerByEmail,\n getCustomerByEmailNoCache,\n createCustomer,\n };\n}\n","export type { WCImage, WCDimensions, WCAddress } from '@woocommerce/shared/types';\n\nexport type {\n WCProduct,\n WCProductFilterParams,\n WCProductVariation,\n WCProductAttribute,\n WCProductDefaultAttribute,\n} from '@woocommerce/products';\n\nexport type { WCProductCategory } from '@woocommerce/categories';\nexport type { WCProductTag } from '@woocommerce/tags';\n\nexport type {\n WCOrder,\n WCCreateOrderInput,\n WCOrderLineItem,\n WCShippingLine,\n} from '@woocommerce/orders';\n\nexport type { WCCoupon } from '@woocommerce/coupons';\nexport type { WCCustomer } from '@woocommerce/customers';\n\nexport type {\n OmnibusPriceEntry,\n OmnibusProductData,\n WCProductWithOmnibus,\n WCProductVariationWithOmnibus,\n} from '@woocommerce/omnibus';\nexport { extractOmnibusData, withOmnibus, withOmnibusVariation } from '@woocommerce/omnibus';\n\nexport type {\n WooCommerceConfig,\n WooCommerceResponse,\n WooCommercePaginationHeaders,\n} from '@woocommerce/client';\n\nexport { createWooCommerceFetcher, type WooCommerceFetcher } from '@woocommerce/client';\n\nimport { createWooCommerceFetcher } from '@woocommerce/client';\nimport type { WooCommerceConfig } from '@woocommerce/client';\nimport { createProductsQueries } from '@woocommerce/products';\nimport { createCategoriesQueries } from '@woocommerce/categories';\nimport { createTagsQueries } from '@woocommerce/tags';\nimport { createOrdersQueries } from '@woocommerce/orders';\nimport { createCouponsQueries } from '@woocommerce/coupons';\nimport { createCustomersQueries } from '@woocommerce/customers';\n\nexport function createWooCommerceClient(config: WooCommerceConfig) {\n const fetcher = createWooCommerceFetcher(config);\n\n return {\n ...createProductsQueries(fetcher),\n ...createCategoriesQueries(fetcher),\n ...createTagsQueries(fetcher),\n ...createOrdersQueries(fetcher),\n ...createCouponsQueries(fetcher),\n ...createCustomersQueries(fetcher),\n };\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@szymonpiatek/nextwordpress",
3
+ "version": "0.0.1",
4
+ "description": "Szymon Piątek - Next.js WordPress client (types, queries, fetcher)",
5
+ "license": "UNLICENSED",
6
+ "private": false,
7
+ "type": "module",
8
+ "main": "./dist/index.cjs",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.cjs"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "sideEffects": false,
22
+ "scripts": {
23
+ "build": "tsup",
24
+ "build:watch": "tsup --watch",
25
+ "clean": "rimraf dist coverage",
26
+ "test": "jest --passWithNoTests",
27
+ "test:watch": "jest --watch",
28
+ "test:coverage": "jest --coverage",
29
+ "test:integration": "docker compose up -d --wait && jest --config jest.integration.cjs --runInBand --forceExit && docker compose down -v",
30
+ "test:integration:keep": "jest --config jest.integration.cjs --runInBand --forceExit",
31
+ "docker:up": "docker compose up -d --wait",
32
+ "docker:down": "docker compose down -v",
33
+ "docker:logs": "docker compose logs",
34
+ "lint": "eslint \"src/**/*.ts\"",
35
+ "lint:fix": "eslint \"src/**/*.ts\" --fix",
36
+ "format": "prettier --write \"src/**/*.{ts,md,json}\"",
37
+ "typecheck": "tsc --noEmit",
38
+ "prepublishOnly": "npm run lint && npm run test && npm run clean && npm run build"
39
+ },
40
+ "dependencies": {
41
+ "zod": "^3.23.8"
42
+ },
43
+ "devDependencies": {
44
+ "@eslint/js": "^9.15.0",
45
+ "@types/jest": "^29.5.14",
46
+ "@types/node": "^22.0.0",
47
+ "eslint": "^9.15.0",
48
+ "eslint-config-prettier": "^9.1.0",
49
+ "globals": "^15.12.0",
50
+ "jest": "^29.7.0",
51
+ "prettier": "^3.3.3",
52
+ "rimraf": "^6.0.1",
53
+ "ts-jest": "^29.2.5",
54
+ "tsup": "^8.3.5",
55
+ "typescript": "^5.6.3",
56
+ "typescript-eslint": "^8.15.0"
57
+ },
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "https://github.com/SzymonPiatek/NextWordpress.git"
61
+ },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ },
65
+ "engines": {
66
+ "node": ">=18.0.0"
67
+ },
68
+ "keywords": [
69
+ "wordpress",
70
+ "nextjs",
71
+ "typescript",
72
+ "cms",
73
+ "api-client"
74
+ ]
75
+ }