Skip to content

Commit bc19eee

Browse files
chore: configure new SDK language
1 parent f7a8ea0 commit bc19eee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+9268
-1
lines changed

.devcontainer/devcontainer.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
3+
{
4+
"name": "Development",
5+
"image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
6+
"features": {
7+
"ghcr.io/devcontainers/features/node:1": {}
8+
},
9+
"postCreateCommand": "yarn install",
10+
"customizations": {
11+
"vscode": {
12+
"extensions": ["esbenp.prettier-vscode"]
13+
}
14+
}
15+
}

.github/workflows/ci.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: CI
2+
on:
3+
push:
4+
branches-ignore:
5+
- 'generated'
6+
- 'codegen/**'
7+
- 'integrated/**'
8+
- 'stl-preview-head/**'
9+
- 'stl-preview-base/**'
10+
11+
jobs:
12+
lint:
13+
timeout-minutes: 10
14+
name: lint
15+
runs-on: ${{ github.repository == 'stainless-sdks/kernel-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up Node
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20'
23+
24+
- name: Bootstrap
25+
run: ./scripts/bootstrap
26+
27+
- name: Check types
28+
run: ./scripts/lint
29+
30+
build:
31+
timeout-minutes: 5
32+
name: build
33+
runs-on: ${{ github.repository == 'stainless-sdks/kernel-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
34+
permissions:
35+
contents: read
36+
id-token: write
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- name: Set up Node
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '20'
44+
45+
- name: Bootstrap
46+
run: ./scripts/bootstrap
47+
48+
- name: Check build
49+
run: ./scripts/build
50+
51+
- name: Get GitHub OIDC Token
52+
if: github.repository == 'stainless-sdks/kernel-typescript'
53+
id: github-oidc
54+
uses: actions/github-script@v6
55+
with:
56+
script: core.setOutput('github_token', await core.getIDToken());
57+
58+
- name: Upload tarball
59+
if: github.repository == 'stainless-sdks/kernel-typescript'
60+
env:
61+
URL: https://pkg.stainless.com/s
62+
AUTH: ${{ steps.github-oidc.outputs.github_token }}
63+
SHA: ${{ github.sha }}
64+
run: ./scripts/utils/upload-artifact.sh
65+
test:
66+
timeout-minutes: 10
67+
name: test
68+
runs-on: ${{ github.repository == 'stainless-sdks/kernel-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
69+
steps:
70+
- uses: actions/checkout@v4
71+
72+
- name: Set up Node
73+
uses: actions/setup-node@v4
74+
with:
75+
node-version: '20'
76+
77+
- name: Bootstrap
78+
run: ./scripts/bootstrap
79+
80+
- name: Run tests
81+
run: ./scripts/test

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.prism.log
2+
node_modules
3+
yarn-error.log
4+
codegen.log
5+
Brewfile.lock.json
6+
dist
7+
dist-deno
8+
/*.tgz
9+
.idea/
10+

.prettierignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CHANGELOG.md
2+
/ecosystem-tests/*/**
3+
/node_modules
4+
/deno
5+
6+
# don't format tsc output, will break source maps
7+
/dist

.prettierrc.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"arrowParens": "always",
3+
"experimentalTernaries": true,
4+
"printWidth": 110,
5+
"singleQuote": true,
6+
"trailingComma": "all"
7+
}

.stats.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
configured_endpoints: 4
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2a9a9232d72f52fc9b2404958857a1b744762356421cf1bffb99db2c24045378.yml
3+
openapi_spec_hash: ba3c6823319d99762e7e1c6a624bc2ed
4+
config_hash: e48b09ec26046e2b2ba98ad41ecbaf1c

Brewfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
brew "node"

CONTRIBUTING.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
## Setting up the environment
2+
3+
This repository uses [`yarn@v1`](https://classic.yarnpkg.com/lang/en/docs/install).
4+
Other package managers may work but are not officially supported for development.
5+
6+
To set up the repository, run:
7+
8+
```sh
9+
$ yarn
10+
$ yarn build
11+
```
12+
13+
This will install all the required dependencies and build output files to `dist/`.
14+
15+
## Modifying/Adding code
16+
17+
Most of the SDK is generated code. Modifications to code will be persisted between generations, but may
18+
result in merge conflicts between manual patches and changes from the generator. The generator will never
19+
modify the contents of the `src/lib/` and `examples/` directories.
20+
21+
## Adding and running examples
22+
23+
All files in the `examples/` directory are not modified by the generator and can be freely edited or added to.
24+
25+
```ts
26+
// add an example to examples/<your-example>.ts
27+
28+
#!/usr/bin/env -S npm run tsn -T
29+
30+
```
31+
32+
```sh
33+
$ chmod +x examples/<your-example>.ts
34+
# run the example against your api
35+
$ yarn tsn -T examples/<your-example>.ts
36+
```
37+
38+
## Using the repository from source
39+
40+
If you’d like to use the repository from source, you can either install from git or link to a cloned repository:
41+
42+
To install via git:
43+
44+
```sh
45+
$ npm install git+ssh://[email protected]:stainless-sdks/kernel-typescript.git
46+
```
47+
48+
Alternatively, to link a local copy of the repo:
49+
50+
```sh
51+
# Clone
52+
$ git clone https://www.github.com/stainless-sdks/kernel-typescript
53+
$ cd kernel-typescript
54+
55+
# With yarn
56+
$ yarn link
57+
$ cd ../my-package
58+
$ yarn link kernel
59+
60+
# With pnpm
61+
$ pnpm link --global
62+
$ cd ../my-package
63+
$ pnpm link -—global kernel
64+
```
65+
66+
## Running tests
67+
68+
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
69+
70+
```sh
71+
$ npx prism mock path/to/your/openapi.yml
72+
```
73+
74+
```sh
75+
$ yarn run test
76+
```
77+
78+
## Linting and formatting
79+
80+
This repository uses [prettier](https://www.npmjs.com/package/prettier) and
81+
[eslint](https://www.npmjs.com/package/eslint) to format the code in the repository.
82+
83+
To lint:
84+
85+
```sh
86+
$ yarn lint
87+
```
88+
89+
To format and fix all lint issues automatically:
90+
91+
```sh
92+
$ yarn fix
93+
```

0 commit comments

Comments
 (0)