Skip to content
Closed
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
15 changes: 15 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "Development",
"image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
"features": {
"ghcr.io/devcontainers/features/node:1": {}
},
"postCreateCommand": "pnpm install",
"customizations": {
"vscode": {
"extensions": ["esbenp.prettier-vscode"]
}
}
}
103 changes: 103 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: CI
on:
push:
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/sdk-server-side-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: '10.24.0'

- name: Bootstrap
run: ./scripts/bootstrap

- name: Check types
run: ./scripts/lint

build:
timeout-minutes: 5
name: build
runs-on: ${{ github.repository == 'stainless-sdks/sdk-server-side-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: '10.24.0'

- name: Bootstrap
run: ./scripts/bootstrap

- name: Check build
run: ./scripts/build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/sdk-server-side-typescript'
id: github-oidc
uses: actions/github-script@v6
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Upload tarball
if: github.repository == 'stainless-sdks/sdk-server-side-typescript'
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
run: ./scripts/utils/upload-artifact.sh
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/sdk-server-side-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: '10.24.0'

- name: Bootstrap
run: ./scripts/bootstrap

- name: Run tests
run: ./scripts/test
35 changes: 35 additions & 0 deletions .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This workflow is triggered when a GitHub release is created.
# It can also be run manually to re-publish to NPM in case it failed for some reason.
# You can run this workflow by navigating to https://www.github.com/getformo/sdk-node/actions/workflows/publish-npm.yml
name: Publish NPM
on:
workflow_dispatch:

release:
types: [published]

jobs:
publish:
name: publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Set up pnpm
uses: pnpm/action-setup@v4

- name: Install dependencies
run: |
pnpm install

- name: Publish to NPM
run: |
bash ./bin/publish-npm
env:
NPM_TOKEN: ${{ secrets.FORMO_NPM_TOKEN || secrets.NPM_TOKEN }}
22 changes: 22 additions & 0 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Release Doctor
on:
pull_request:
branches:
- main
workflow_dispatch:

jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
if: github.repository == 'getformo/sdk-node' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4

- name: Check release environment
run: |
bash ./bin/check-release-environment
env:
NPM_TOKEN: ${{ secrets.FORMO_NPM_TOKEN || secrets.NPM_TOKEN }}

16 changes: 11 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
node_modules/
dist/
*.log
.env
.DS_Store
.prism.log
node_modules
yarn-error.log
codegen.log
Brewfile.lock.json
dist
dist-deno
/*.tgz
.idea/
.eslintcache

7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CHANGELOG.md
/ecosystem-tests/*/**
/node_modules
/deno

# don't format tsc output, will break source maps
/dist
7 changes: 7 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"arrowParens": "always",
"experimentalTernaries": true,
"printWidth": 110,
"singleQuote": true,
"trailingComma": "all"
}
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.1.0"
}
119 changes: 0 additions & 119 deletions .stainless/stainless.yml

This file was deleted.

10 changes: 0 additions & 10 deletions .stainless/workspace.json

This file was deleted.

4 changes: 4 additions & 0 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
configured_endpoints: 1
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/formo%2Fsdk-server-side-b7482fb20536be5e4af119a4cea5e4c9a67dc52bbd9ec9f9d9bc8501ac882e52.yml
openapi_spec_hash: fd24c348c81fd638e871ee2b17047c04
config_hash: b28d4d9643edb35bbeac23e2c36d860d
1 change: 1 addition & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
brew "node"
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Changelog

## 0.1.0 (2025-12-30)

Full Changelog: [v0.0.1...v0.1.0](https://github.com/getformo/sdk-node/compare/v0.0.1...v0.1.0)

### Features

* **api:** manual updates to open api ([1de08df](https://github.com/getformo/sdk-node/commit/1de08df566ae7ea7bc0679fc9af66dff545011b8))
* **api:** manual updates to openapi and stainless.yml ([7e6b11f](https://github.com/getformo/sdk-node/commit/7e6b11fd6b9871c7125bb2c7b85ded79c016d740))
* enhance Formo Analytics SDK with event batching, property normalization, and improved type definitions ([1d1b771](https://github.com/getformo/sdk-node/commit/1d1b77159aee55125544551cb3fb139ba7d08dd3))
* implement Formo Analytics SDK with event tracking and user identification ([f985727](https://github.com/getformo/sdk-node/commit/f98572720dff97d1d8f2856c5d2541d4012eb8a1))


### Chores

* add .stainless to gitignore ([6a18355](https://github.com/getformo/sdk-node/commit/6a183554bd91c18896f852a161f9f105c6113e28))
* add contribution detail and stainless configuration files back ([16f8e0d](https://github.com/getformo/sdk-node/commit/16f8e0dc1fc5e4c64e71a60453c214aea7beaa90))
* add readme ([6a4b0e2](https://github.com/getformo/sdk-node/commit/6a4b0e2510983d09b59f79a09e92fdeb25e56e24))
* consistent naming ([96552ef](https://github.com/getformo/sdk-node/commit/96552eff043f6f646323cebaa0f5f6eba7859e5c))
* consistent namings with the web sdk ([b874115](https://github.com/getformo/sdk-node/commit/b8741153672bfc61aa904b3ce096afdbf6b7a841))
* move typescript dependency to devDependencies ([b32199b](https://github.com/getformo/sdk-node/commit/b32199bd662a6f7e71ac7e4c70396fa8bae2f963))
* remove the .stainless ([eb6b3ac](https://github.com/getformo/sdk-node/commit/eb6b3acc435a4c9dd0d9682bfb8cc4acffb52079))
* sync repo ([1d3ef06](https://github.com/getformo/sdk-node/commit/1d3ef06d0a8b30415c7743a80e7e1b8cc5a24cb2))
* update client settings and remove ApiKeyAuth from security schemes ([1bfa581](https://github.com/getformo/sdk-node/commit/1bfa581695931362adc5b14deeef3fc4bae30f5c))
* update configuration and API references in stainless.yml and openapi.json ([a149025](https://github.com/getformo/sdk-node/commit/a14902501baacb9a030772d4b8cce678534d875c))
* Update dependencies and adjust test files and README. ([60af9d2](https://github.com/getformo/sdk-node/commit/60af9d2512e2b26e45f7816684c2764ea146923d))
* Update pnpm dependencies and add index.ts file ([9b3dd7b](https://github.com/getformo/sdk-node/commit/9b3dd7befee4090799f3042bb4620a50d5ee9844))
* update readme ([b991924](https://github.com/getformo/sdk-node/commit/b99192468adf8a7cec5b48960279c27385f1d762))
* update readme on testing details ([59dd823](https://github.com/getformo/sdk-node/commit/59dd82343143ed85de38ac2f36ed68115e90da83))
* update the readme ([614d0b5](https://github.com/getformo/sdk-node/commit/614d0b572a98c80ad889de86289435656482932e))
* update traits to properties ([130059e](https://github.com/getformo/sdk-node/commit/130059e005bb5f85ddc6b13f07446fee343233df))
Loading