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
2 changes: 1 addition & 1 deletion examples/sdks/typescript-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ jobs:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
fern generate --group ts-sdk --version ${{ inputs.version }} --log-level debug
fern generate --deep --group ts-sdk --version ${{ inputs.version }} --log-level debug
4 changes: 2 additions & 2 deletions fern/products/cli-api-reference/pages/cli-get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ fern generate --docs # Generate and publish documentation
fern init # Start new SDK project
fern check # Validate API definition
fern generate --preview # Preview SDKs in .preview/ folder
fern generate # Generate default SDK group
fern generate --group ts-sdk # Generate specific SDK group
fern generate # Generate default SDK group
fern generate --deep --group ts-sdk # Generate TypeScript SDK
```

<Note>
Expand Down
14 changes: 11 additions & 3 deletions fern/products/cli-api-reference/pages/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -174,21 +174,29 @@ hideOnThisPage: true

<CodeBlock title="terminal">
```bash
fern generate [--group <group>] [--api <api>] [--version <version>] [--preview]
fern generate [--deep] [--group <group>] [--api <api>] [--version <version>] [--preview]
```
</CodeBlock>

### deep

Use `--deep` to enable deep generation mode. This flag is recommended for TypeScript SDK generation and other generators that benefit from enhanced processing.

```bash
fern generate --deep --group ts-sdk
```

### preview

Use `--preview` to test SDK changes locally before publishing. This is especially useful during development:
- Generates SDK into a local `.preview/` folder
- Allows quick iteration on your Fern definition
- No changes are published to package managers or GitHub

```bash
# Preview all SDKs
fern generate --preview

# Preview specific SDK group
fern generate --group python-sdk --preview
```
Expand Down
2 changes: 1 addition & 1 deletion fern/products/cli-api-reference/pages/global-options.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,5 +97,5 @@ Use the `--version` option to specify the SDK version number, typically followin
fern generate --api payments-api --group python-sdk --version 1.2.3

# Generate TypeScript SDK for the auth API with version 0.1.0
fern generate --api auth --group ts-sdk --version 0.1.0
fern generate --deep --api auth --group ts-sdk --version 0.1.0
```
4 changes: 2 additions & 2 deletions fern/products/docs/pages/developer-tools/gitlab.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ publish_sdks:
stage: publish_sdks
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
script:
script:
- echo "Publishing SDKs"
- fern generate --group ts-sdk --version $VERSION --log-level debug
- fern generate --deep --group ts-sdk --version $VERSION --log-level debug
```
</Accordion>

Expand Down
6 changes: 3 additions & 3 deletions fern/products/sdks/overview/typescript/publishing-to-npm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ OIDC-based publishing (also known as "trusted publishing") is the most secure wa
Generate your SDK to create the GitHub Actions workflow with OIDC configuration:

```bash
fern generate --group ts-sdk
fern generate --deep --group ts-sdk
```

This creates a `.github/workflows/ci.yml` file that's configured to use OIDC for npmjs publishing. Alternatively, you can push your `generators.yml` changes and let the Fern GitHub Action generate the workflow for you.
Expand Down Expand Up @@ -296,7 +296,7 @@ jobs:
- name: Generate and publish SDK
env:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
run: fern generate --group ts-sdk --version ${{ inputs.version }} --log-level debug
run: fern generate --deep --group ts-sdk --version ${{ inputs.version }} --log-level debug
```

Add your `FERN_TOKEN` as a repository secret (run `fern token` to generate one), then trigger the workflow from the **Actions** tab.
Expand Down Expand Up @@ -386,7 +386,7 @@ This is the easiest path if you can upgrade to version 3.12.0 or later of the Ty
**Locally:**

```bash
fern generate --group ts-sdk
fern generate --deep --group ts-sdk
```

**Or via GitHub Actions:**
Expand Down
6 changes: 3 additions & 3 deletions fern/products/sdks/overview/typescript/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ This command adds the following `group` to `generators.yml`:
Run the following command to generate your SDK:

```bash
fern generate --group ts-sdk
fern generate --deep --group ts-sdk
```

<Note>
If you have multiple APIs, use the [`--api` flag](/cli-api-reference/cli-reference/commands#api) to specify the API you want to generate:

```bash
fern generate --group ts-sdk --api your-api-name
```
fern generate --deep --api your-api-name --group ts-sdk
```
</Note>

<Markdown src="/products/sdks/snippets/generate-sdk.mdx"/>
Expand Down