-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from V1RE/feature/publish
- Loading branch information
Showing
7 changed files
with
1,865 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Changesets | ||
|
||
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works | ||
with multi-package repos, or single-package repos to help you version and publish your code. You can | ||
find the full documentation for it [in our repository](https://github.com/changesets/changesets) | ||
|
||
We have a quick list of common questions to get you started engaging with this project in | ||
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", | ||
"changelog": "@changesets/cli/changelog", | ||
"commit": false, | ||
"fixed": [], | ||
"linked": [], | ||
"access": "restricted", | ||
"baseBranch": "main", | ||
"updateInternalDependencies": "patch", | ||
"ignore": [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
--- | ||
"propr": major | ||
--- | ||
|
||
# Initial release | ||
|
||
## Installation | ||
|
||
To install the package, run: | ||
|
||
```sh | ||
pnpm install propr | ||
``` | ||
|
||
## Usage | ||
|
||
To use propr, import the createPreprClient function from the package and call it with the options for your Prepr account: | ||
|
||
```typescript | ||
import { createPreprClient } from "propr"; | ||
|
||
const client = createPreprClient({ | ||
token: "your_token_here", | ||
}); | ||
``` | ||
|
||
Once you have created the client, you can use it to fetch data from Prepr: | ||
|
||
```typescript | ||
const articles = await client.fetch("/articles"); | ||
``` | ||
|
||
You can also chain various methods to the client to specify additional options: | ||
|
||
```typescript | ||
const articles = await client.sort("publishedAt").limit(10).fetch("/articles"); | ||
``` | ||
|
||
The client also supports GraphQL queries: | ||
|
||
```typescript | ||
const query = `query ($slug: String!) { | ||
article(slug: $slug) { | ||
id | ||
title | ||
publishedAt | ||
} | ||
}`; | ||
|
||
const variables = { slug: "your-article-slug" }; | ||
|
||
const article = await client | ||
.graphqlQuery(query) | ||
.graphqlVariables(variables) | ||
.fetch(); | ||
``` | ||
|
||
## API | ||
|
||
### `createPreprClient(options: PreprClientOptions) => PreprClient` | ||
|
||
Creates a new instance of the Prepr client. | ||
|
||
#### Options | ||
|
||
- token (required): The access token for your Prepr account. | ||
- baseUrl: The base URL for the Prepr API (default: https://cdn.prepr.io). | ||
- timeout: The timeout for API requests, in milliseconds (default: 4000). | ||
- userId: The user ID for A/B testing. | ||
|
||
### `PreprClient` | ||
|
||
The Prepr client class. | ||
|
||
#### Methods | ||
|
||
##### `userId(userId: string | number): PreprClient` | ||
|
||
Sets the user ID for A/B testing. | ||
|
||
##### `timeout(milliseconds: number): PreprClient` | ||
|
||
Sets the timeout for API requests, in milliseconds. | ||
|
||
##### `sort(field: string): PreprClient` | ||
|
||
Sets the field to sort the results by. | ||
|
||
##### `limit(limit: number): PreprClient` | ||
|
||
Sets the maximum number of results to return. | ||
|
||
##### `skip(skip: number): PreprClient` | ||
|
||
Sets the number of results to skip. | ||
|
||
##### `path(path: string): PreprClient` | ||
|
||
Sets the path for the API request. | ||
|
||
##### `token(token: string): PreprClient` | ||
|
||
Sets the access token for the Prepr account. | ||
|
||
##### `graphqlQuery(graphqlQuery: string): PreprClient` | ||
|
||
Sets the GraphQL query for the API request. | ||
|
||
##### `graphqlVariables(graphqlVariables: object): PreprClient` | ||
|
||
Sets the variables for the GraphQL query. | ||
|
||
##### `fetch<T = any>(request?: RequestInfo, options?: FetchOptions<"json">): Promise<T>` | ||
|
||
Fetches data from the Prepr API. | ||
|
||
#### Properties | ||
|
||
##### `query: URLSearchParams` | ||
|
||
The URL search parameters for the API request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: Publish | ||
on: | ||
push: | ||
branches: | ||
- "main" | ||
|
||
concurrency: ${{ github.workflow }}-${{ github.ref }} | ||
|
||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: pnpm/action-setup@v2 | ||
with: | ||
version: 7 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
cache: "pnpm" | ||
|
||
- run: pnpm install --frozen-lockfile | ||
- name: Create Release Pull Request or Publish | ||
id: changesets | ||
uses: changesets/action@v1 | ||
with: | ||
publish: pnpm run release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,119 @@ | ||
# propr | ||
A proper way to interface with prepr.io | ||
|
||
A proper way to interface with the Prepr API. This package provides an easy-to-use interface for fetching data from Prepr and supports GraphQL queries. | ||
|
||
## Installation | ||
|
||
To install the package, run: | ||
|
||
```sh | ||
pnpm install propr | ||
``` | ||
|
||
## Usage | ||
|
||
To use propr, import the createPreprClient function from the package and call it with the options for your Prepr account: | ||
|
||
```typescript | ||
import { createPreprClient } from "propr"; | ||
|
||
const client = createPreprClient({ | ||
token: "your_token_here", | ||
}); | ||
``` | ||
|
||
Once you have created the client, you can use it to fetch data from Prepr: | ||
|
||
```typescript | ||
const articles = await client.fetch("/articles"); | ||
``` | ||
|
||
You can also chain various methods to the client to specify additional options: | ||
|
||
```typescript | ||
const articles = await client.sort("publishedAt").limit(10).fetch("/articles"); | ||
``` | ||
|
||
The client also supports GraphQL queries: | ||
|
||
```typescript | ||
const query = `query ($slug: String!) { | ||
article(slug: $slug) { | ||
id | ||
title | ||
publishedAt | ||
} | ||
}`; | ||
|
||
const variables = { slug: "your-article-slug" }; | ||
|
||
const article = await client | ||
.graphqlQuery(query) | ||
.graphqlVariables(variables) | ||
.fetch(); | ||
``` | ||
|
||
## API | ||
|
||
### `createPreprClient(options: PreprClientOptions) => PreprClient` | ||
|
||
Creates a new instance of the Prepr client. | ||
|
||
#### Options | ||
|
||
- token (required): The access token for your Prepr account. | ||
- baseUrl: The base URL for the Prepr API (default: https://cdn.prepr.io). | ||
- timeout: The timeout for API requests, in milliseconds (default: 4000). | ||
- userId: The user ID for A/B testing. | ||
|
||
### `PreprClient` | ||
|
||
The Prepr client class. | ||
|
||
#### Methods | ||
|
||
##### `userId(userId: string | number): PreprClient` | ||
|
||
Sets the user ID for A/B testing. | ||
|
||
##### `timeout(milliseconds: number): PreprClient` | ||
|
||
Sets the timeout for API requests, in milliseconds. | ||
|
||
##### `sort(field: string): PreprClient` | ||
|
||
Sets the field to sort the results by. | ||
|
||
##### `limit(limit: number): PreprClient` | ||
|
||
Sets the maximum number of results to return. | ||
|
||
##### `skip(skip: number): PreprClient` | ||
|
||
Sets the number of results to skip. | ||
|
||
##### `path(path: string): PreprClient` | ||
|
||
Sets the path for the API request. | ||
|
||
##### `token(token: string): PreprClient` | ||
|
||
Sets the access token for the Prepr account. | ||
|
||
##### `graphqlQuery(graphqlQuery: string): PreprClient` | ||
|
||
Sets the GraphQL query for the API request. | ||
|
||
##### `graphqlVariables(graphqlVariables: object): PreprClient` | ||
|
||
Sets the variables for the GraphQL query. | ||
|
||
##### `fetch<T = any>(request?: RequestInfo, options?: FetchOptions<"json">): Promise<T>` | ||
|
||
Fetches data from the Prepr API. | ||
|
||
#### Properties | ||
|
||
##### `query: URLSearchParams` | ||
|
||
The URL search parameters for the API request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.