Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .eslintrc.cjs

This file was deleted.

77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATE/BUG_REPORT.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Bug Report
description: Report reproducible behavior in the OrderCloud React SDK that does not match expectations.
title: "[Bug]: "
labels: ["bug"]
type: "Bug"
body:
- type: markdown
attributes:
value: |
Report reproducible SDK defects. Do not include access tokens, credentials, or personal data.
- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: Describe the observed behavior, error, or regression.
placeholder: Calling `useAuthQuery` with ... returns ...
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe the result expected from documented or previous SDK behavior.
placeholder: The hook should ...
validations:
required: true
- type: input
id: reproduction-url
attributes:
label: Minimal reproduction URL
description: Link a runnable repository, StackBlitz, CodeSandbox, or other minimal public reproduction.
placeholder: https://github.com/your-org/reproduction
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: List the smallest sequence needed to observe the defect in the reproduction.
placeholder: |
1. Configure ...
2. Call ...
3. Observe ...
validations:
required: true
- type: dropdown
id: frequency
attributes:
label: Reproduction frequency
options:
- Every time
- Often
- Sometimes
- Only once
validations:
required: true
- type: textarea
id: environment
attributes:
label: Exact versions and platform
description: Do not use `latest`; include resolved versions from your lockfile or `npm ls`.
placeholder: |
@ordercloud/react-sdk:
react / react-dom:
@tanstack/react-query:
ordercloud-javascript-sdk:
Browser or runtime:
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant logs or screenshots
description: Remove secrets, access tokens, and personal data before submitting.
render: shell
validations:
required: false
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Feature Request
description: Suggest an improvement to the OrderCloud React SDK.
title: "[Request]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Requests are evaluated on the user problem and a concrete SDK contract, not the implementation alone.
- type: textarea
id: problem
attributes:
label: What problem would this solve?
description: Describe the use case, who it affects, and current limitations.
placeholder: I need to ... because ...
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed SDK contract
description: Show the API, hook, component, types, or behavior consumers would use.
placeholder: |
```ts
const result = useExample({ ... })
```
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives or workarounds
description: Describe the current workaround and why it is insufficient, or state that none exists.
validations:
required: true
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance criteria
description: List observable conditions that would make this request complete.
placeholder: |
- [ ] ...
- [ ] ...
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: Include examples, mockups, related issues, or relevant OrderCloud workflows.
validations:
required: false
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/NEW_TASK.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: New Task
description: Create a scoped maintenance, documentation, or engineering task.
title: "[Task]: "
type: "Task"
body:
- type: markdown
attributes:
value: |
Use tasks for scoped, independently verifiable maintenance, documentation, or engineering work.
- type: textarea
id: description
attributes:
label: What needs to be done?
description: Describe the goal, scope, and any affected package surfaces.
placeholder: Describe the work to complete.
validations:
required: true
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance criteria
description: List observable conditions that define completion.
placeholder: |
- [ ] ...
- [ ] ...
validations:
required: true
- type: textarea
id: non-goals
attributes:
label: Non-goals
description: Identify related work that is intentionally outside this task's scope.
placeholder: This task does not include ...
validations:
required: true
- type: textarea
id: validation
attributes:
label: Validation plan
description: State the test, build, consumer check, or manual verification that proves completion.
placeholder: Run ... and verify ...
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: Include related issues, dependencies, implementation notes, or constraints.
validations:
required: false
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: OrderCloud documentation
url: https://ordercloud.io/knowledge-base/
about: Find OrderCloud platform documentation and implementation guidance.
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Pull Request

## Summary

Describe the change and the problem it solves.

Closes #

## Reviewer Notes

Call out test coverage, API examples, breaking changes, migration guidance, or follow-up work. Automated checks run linting, tests, builds, package inspection, and React consumer validation.
17 changes: 11 additions & 6 deletions .github/workflows/bumpversion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,21 @@ jobs:
name: "Bump version and create changelog with commitizen"
steps:
- name: Check out
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
with:
token: "${{ secrets.PERSONAL_ACCESS_TOKEN }}"
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: 20
node-version: 24
cache: npm
- name: Install Dependencies
run: npm i
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test
- name: Build
run: npm run build
- name: Get current version from package.json
Expand All @@ -33,13 +38,13 @@ jobs:
PREVIOUS_VERSION=$(jq -r .version package.json)
echo "PREVIOUS_VERSION=$PREVIOUS_VERSION" >> $GITHUB_ENV
- name: Create bump and changelog
uses: commitizen-tools/commitizen-action@master
uses: commitizen-tools/commitizen-action@0.27.1
with:
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
changelog_increment_filename: body.md
- name: Create GH Release
if: env.REVISION != env.PREVIOUS_VERSION
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v3.0.2
with:
body_path: "body.md"
tag_name: ${{ env.REVISION }}
Expand Down
45 changes: 35 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,39 @@ on:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- react-version: "18.3.1"
types-react: "18.3.12"
types-react-dom: "18.3.1"
- react-version: "19.2.8"
types-react: "19.0.10"
types-react-dom: "19.0.4"
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Dependencies
run: npm i

- name: Build
run: npm run build
- uses: actions/checkout@v7.0.1
- name: Setup Node.js
uses: actions/setup-node@v7.0.0
with:
node-version: 24
cache: npm
- name: Install Dependencies
run: npm ci
- name: Install React matrix version
run: |
npm install --no-save --package-lock=false \
react@${{ matrix.react-version }} \
react-dom@${{ matrix.react-version }} \
@types/react@${{ matrix.types-react }} \
@types/react-dom@${{ matrix.types-react-dom }}
- name: Lint
run: npm run lint
- name: Test
run: npm test
- name: Build
run: npm run build
- name: Pack and inspect package
run: node scripts/inspect-pack.mjs
- name: Validate consumer install
run: node scripts/validate-consumer.mjs ${{ matrix.react-version }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ node_modules
dist
dist-ssr
*.local
*.tgz
.pack-inspect

# Editor directories and files
.vscode/*
Expand Down
Loading
Loading