diff --git a/examples/sdks/typescript-publish.yml b/examples/sdks/typescript-publish.yml index 2a8f8767..3d8f3d52 100644 --- a/examples/sdks/typescript-publish.yml +++ b/examples/sdks/typescript-publish.yml @@ -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 \ No newline at end of file + fern generate --deep --group ts-sdk --version ${{ inputs.version }} --log-level debug \ No newline at end of file diff --git a/fern/products/cli-api-reference/pages/cli-get-started.mdx b/fern/products/cli-api-reference/pages/cli-get-started.mdx index 3b84e006..5e7a1d0f 100644 --- a/fern/products/cli-api-reference/pages/cli-get-started.mdx +++ b/fern/products/cli-api-reference/pages/cli-get-started.mdx @@ -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 ``` diff --git a/fern/products/cli-api-reference/pages/commands.mdx b/fern/products/cli-api-reference/pages/commands.mdx index 1235cd15..3301bac5 100644 --- a/fern/products/cli-api-reference/pages/commands.mdx +++ b/fern/products/cli-api-reference/pages/commands.mdx @@ -174,21 +174,29 @@ hideOnThisPage: true ```bash - fern generate [--group ] [--api ] [--version ] [--preview] + fern generate [--deep] [--group ] [--api ] [--version ] [--preview] ``` + ### 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 ``` diff --git a/fern/products/cli-api-reference/pages/global-options.mdx b/fern/products/cli-api-reference/pages/global-options.mdx index efea3aa5..2ef2270f 100644 --- a/fern/products/cli-api-reference/pages/global-options.mdx +++ b/fern/products/cli-api-reference/pages/global-options.mdx @@ -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 ``` diff --git a/fern/products/docs/pages/developer-tools/gitlab.mdx b/fern/products/docs/pages/developer-tools/gitlab.mdx index b9fc49d8..285b089c 100644 --- a/fern/products/docs/pages/developer-tools/gitlab.mdx +++ b/fern/products/docs/pages/developer-tools/gitlab.mdx @@ -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 ``` diff --git a/fern/products/sdks/overview/typescript/publishing-to-npm.mdx b/fern/products/sdks/overview/typescript/publishing-to-npm.mdx index 0ec156a5..ce6eb0a0 100644 --- a/fern/products/sdks/overview/typescript/publishing-to-npm.mdx +++ b/fern/products/sdks/overview/typescript/publishing-to-npm.mdx @@ -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. @@ -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. @@ -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:** diff --git a/fern/products/sdks/overview/typescript/quickstart.mdx b/fern/products/sdks/overview/typescript/quickstart.mdx index b6ab2c5b..54115a51 100644 --- a/fern/products/sdks/overview/typescript/quickstart.mdx +++ b/fern/products/sdks/overview/typescript/quickstart.mdx @@ -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 ``` 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 + ```