@postman/sdk-config 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +90 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +90 -22
- package/dist/index.js.map +1 -1
- package/dist/sdk-config/index.cjs +90 -22
- package/dist/sdk-config/index.cjs.map +1 -1
- package/dist/sdk-config/index.d.cts +1 -1
- package/dist/sdk-config/index.d.ts +1 -1
- package/dist/sdk-config/index.js +90 -22
- package/dist/sdk-config/index.js.map +1 -1
- package/dist/sdk-config/v1/index.cjs +90 -22
- package/dist/sdk-config/v1/index.cjs.map +1 -1
- package/dist/sdk-config/v1/index.d.cts +53 -1
- package/dist/sdk-config/v1/index.d.ts +53 -1
- package/dist/sdk-config/v1/index.js +90 -22
- package/dist/sdk-config/v1/index.js.map +1 -1
- package/dist/sdk-config-ir/index.cjs +10 -2
- package/dist/sdk-config-ir/index.cjs.map +1 -1
- package/dist/sdk-config-ir/index.d.cts +1 -1
- package/dist/sdk-config-ir/index.d.ts +1 -1
- package/dist/sdk-config-ir/index.js +10 -2
- package/dist/sdk-config-ir/index.js.map +1 -1
- package/dist/sdk-config-ir/v1/index.cjs +10 -2
- package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
- package/dist/sdk-config-ir/v1/index.d.cts +27 -2
- package/dist/sdk-config-ir/v1/index.d.ts +27 -2
- package/dist/sdk-config-ir/v1/index.js +10 -2
- package/dist/sdk-config-ir/v1/index.js.map +1 -1
- package/dist/{typescript-DNqK3T3v.d.cts → typescript-CKRe_6MB.d.cts} +5 -0
- package/dist/{typescript-DNqK3T3v.d.ts → typescript-CKRe_6MB.d.ts} +5 -0
- package/package.json +1 -1
- package/src/sdk-config/v1/README.md +19 -16
- package/src/sdk-config-ir/v1/README.md +35 -21
|
@@ -91,6 +91,7 @@ Legacy aliases below intentionally converge on one normalized behavior.
|
|
|
91
91
|
|
|
92
92
|
Fields are not duplicated under `generation.language` when a shared row above can represent them.
|
|
93
93
|
Translators are responsible for alias resolution, unit conversion, and inverted legacy booleans.
|
|
94
|
+
For Python Fern configs, `skip_validation` is read from the nested `pydantic_config` object.
|
|
94
95
|
|
|
95
96
|
## Source and target boundaries
|
|
96
97
|
|
|
@@ -174,7 +175,7 @@ Translators are responsible for alias resolution, unit conversion, and inverted
|
|
|
174
175
|
| TypeScript `generateEnumAs` | `generation.serialization.enumRepresentation` |
|
|
175
176
|
| TypeScript versions, compiler options, bundle, default export, naming strategy, scripts | `generation.language.typescript` |
|
|
176
177
|
| Python `pypiPackageName`, classifiers, and project URLs | `package.packageName`, `classifiers`, and `projectUrls` |
|
|
177
|
-
| Python Pydantic version and
|
|
178
|
+
| Python Pydantic version, optional initialization, and additional `__init__` exports | `generation.language.python` |
|
|
178
179
|
| Java/Kotlin `groupId` / `artifactId` | `package.groupId` / `package.artifactId` |
|
|
179
180
|
| Java/Kotlin `includeKotlinSnippets` | `generation.language.java.includeKotlinSnippets` |
|
|
180
181
|
| Java/Go/C#/Rust `validateResponses` | `client.responseValidation` |
|
|
@@ -214,7 +215,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
214
215
|
| `customPagerName`, `custom-pager-name`, `custom_pager_name` | `generation.naming.pagerName` | 2-5 per language |
|
|
215
216
|
| `smart-casing`, `smart-casing-digit-word-boundary` | `generation.naming` | Preserved only when explicitly set. |
|
|
216
217
|
| timeout aliases in seconds or milliseconds | `client.timeoutMs` | Translator converts units. |
|
|
217
|
-
| `skipResponseValidation`, Python `skip_validation`
|
|
218
|
+
| `skipResponseValidation`, Python `pydantic_config.skip_validation` | `client.responseValidation` | Inverted; 12 TS, 8 Python |
|
|
218
219
|
| `useDefaultRequestParameterValues` aliases | `client.useDefaultRequestParameterValues` | 1 |
|
|
219
220
|
| `respectOptionalRequestBody`, `respect-optional-request-body` | `client.respectOptionalRequestBody` | Not in the project snapshot; see below |
|
|
220
221
|
| `enable-wire-tests`, `enableWireTests`, `generateWireTests` | `generation.wireTests` | 1-15 per language |
|
|
@@ -224,7 +225,10 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
224
225
|
| base API/general exception class aliases | `generation.naming.apiErrorName` / `generation.naming.baseErrorName` | 3-6 Java/C# |
|
|
225
226
|
| namespace/package-prefix aliases | `package.namespace` | 1-30 per language |
|
|
226
227
|
| output registry package names | `package.packageName` | 5-28 per registry language |
|
|
228
|
+
| TypeScript `packageJson` / PHP `composerJson` portable metadata | `package.packageName`, `description`, `authors`, and `license` | Portable subset only. |
|
|
229
|
+
| TypeScript `fetchSupport: native` | `generation.language.typescript.httpClient.name: "fetch"` | Native only. |
|
|
227
230
|
| Python custom `package_name` | `package.moduleName` | 18 |
|
|
231
|
+
| Python `additional_init_exports` | `generation.language.python.additionalInitExports` | 3 |
|
|
228
232
|
| Go `module.path` | `package.modulePath` | 3 |
|
|
229
233
|
| Maven `group` / `artifact` | `package.groupId` / `package.artifactId` | 7 |
|
|
230
234
|
| custom/extra dependencies | `package.extraDependencies` and related lists | Multiple languages |
|
|
@@ -250,8 +254,9 @@ shared fields.
|
|
|
250
254
|
`docs.readme.customSections` came from that same generator-schema comparison. Nine Fern generators
|
|
251
255
|
declare an identical `customReadmeSections` array of `{title, content}`, so it is a shared
|
|
252
256
|
documentation concern rather than a language one. `title` is the section's identity: a derived
|
|
253
|
-
section carrying the same title is replaced rather than duplicated. Fern
|
|
254
|
-
|
|
257
|
+
section carrying the same title is replaced rather than duplicated. During Fern migration, an
|
|
258
|
+
untagged section applies to every target and a language-tagged section applies only to its matching
|
|
259
|
+
selected target. The discriminator is then dropped because one IR document describes one target.
|
|
255
260
|
|
|
256
261
|
`client.respectOptionalRequestBody` came from the same comparison and postdates the project
|
|
257
262
|
snapshot. Eight Fern generators honour it — Rust, Go, PHP, Ruby, both TypeScript generators, C# and
|
|
@@ -269,20 +274,29 @@ normalized contract.
|
|
|
269
274
|
These settings remain under `source.apiImportSettings` because they affect spec conversion rather
|
|
270
275
|
than generated-language presentation.
|
|
271
276
|
|
|
272
|
-
| Fern setting | Normalized field |
|
|
273
|
-
| ----------------------------------------- | ------------------------------------ |
|
|
274
|
-
| `respect-nullable-schemas` | `respectNullableSchemas` |
|
|
275
|
-
| `title-as-schema-name` | `titleAsSchemaName` |
|
|
276
|
-
| `
|
|
277
|
-
| `
|
|
278
|
-
| `
|
|
279
|
-
| `
|
|
280
|
-
| `
|
|
281
|
-
| `
|
|
282
|
-
| `
|
|
283
|
-
| `
|
|
284
|
-
| `
|
|
285
|
-
| `
|
|
277
|
+
| Fern setting | Normalized field | Observed projects |
|
|
278
|
+
| ----------------------------------------- | ------------------------------------ | --------------------------------------: |
|
|
279
|
+
| `respect-nullable-schemas` | `respectNullableSchemas` | 10 |
|
|
280
|
+
| `title-as-schema-name` | `titleAsSchemaName` | 16 |
|
|
281
|
+
| `ignore-tags` | `ignoreTags` | Not in the project snapshot; see below. |
|
|
282
|
+
| `disambiguate-request-names` | `disambiguateRequestNames` | Not in the project snapshot; see below. |
|
|
283
|
+
| `coerce-enums-to-literals` | `coerceEnumsToLiterals` | 14 |
|
|
284
|
+
| `idiomatic-request-names` | `idiomaticRequestNames` | 12 |
|
|
285
|
+
| `wrap-references-to-nullable-in-optional` | `wrapReferencesToNullableInOptional` | 9 |
|
|
286
|
+
| `coerce-optional-schemas-to-nullable` | `coerceOptionalSchemasToNullable` | 9 |
|
|
287
|
+
| `object-query-parameters` | `objectQueryParameters` | 9 |
|
|
288
|
+
| `only-include-referenced-schemas` | `onlyIncludeReferencedSchemas` | 4 |
|
|
289
|
+
| `group-multi-api-environments` | `groupMultiApiEnvironments` | 2 |
|
|
290
|
+
| `path-parameter-order` | `pathParameterOrder` | 2 |
|
|
291
|
+
| `type-dates-as-strings` | `typeDatesAsStrings` | 12 |
|
|
292
|
+
| `default-integer-format` | `defaultIntegerFormat` | Importer defaults to `int32`. |
|
|
293
|
+
|
|
294
|
+
`ignoreTags` and `disambiguateRequestNames` postdate the project snapshot. Twilio declares both
|
|
295
|
+
across its namespaced API specs. They stay undefaulted so omission remains distinguishable from an
|
|
296
|
+
explicit value, including `disambiguateRequestNames: false`. `ignoreTags` controls import-time use
|
|
297
|
+
of authored tags, not generation-time service-name inference; `disambiguateRequestNames` controls
|
|
298
|
+
request/schema collisions, not idiomatic request naming. Producers and generators must map and
|
|
299
|
+
honour these fields before they change generated output.
|
|
286
300
|
|
|
287
301
|
## Fern language-specific migration map
|
|
288
302
|
|
|
@@ -317,7 +331,7 @@ the migration.
|
|
|
317
331
|
environment inference, const coercion, endpoint filters, example-depth controls, alias
|
|
318
332
|
resolution, single-schema oneOf preservation, readonly/read variants, binary-response import
|
|
319
333
|
coercion, form encoding defaults, additional-properties defaults, inline-allOf,
|
|
320
|
-
discriminated-union inference,
|
|
334
|
+
discriminated-union inference, and AsyncAPI message naming.
|
|
321
335
|
- TypeScript: linter/formatter selection, consolidated type files, subpackage exports, and endpoint
|
|
322
336
|
metadata.
|
|
323
337
|
- Python: ORM/smart-union/coercion/wrapped-alias/positional-constructor/inheritance/validator
|
|
@@ -337,8 +351,8 @@ the migration.
|
|
|
337
351
|
| Legacy configuration | Observed projects | Reason |
|
|
338
352
|
| ----------------------------------------------------------- | ----------------: | ------------------------------------------------------------------------ |
|
|
339
353
|
| TypeScript arbitrary `packageJson` exports/scripts | 2 | Open-ended manifest rewriting conflicts with the typed package contract. |
|
|
340
|
-
| TypeScript `outputEsm
|
|
341
|
-
| Python
|
|
354
|
+
| TypeScript `outputEsm` and form-data runtime | 1-2 | Runtime-specific and not required by sdk-gen-core today. |
|
|
355
|
+
| Python excluded `__init__` exports | 6 | File-layout customization with significant generator coupling. |
|
|
342
356
|
| Python improved imports and file-upload-only TypedDict mode | 1-3 | Experimental or narrow compatibility behavior. |
|
|
343
357
|
| Java custom Gradle plugins / include-wrapper | 1 | Arbitrary build-file injection or one-customer behavior. |
|
|
344
358
|
| C# experimental fully qualified/version namespaces | 1 | Experimental one-customer behavior. |
|