@postman/sdk-config 0.0.0 → 0.0.1
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/README.md +67 -6
- package/dist/index.cjs +864 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +819 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk-config-ir/index.cjs +864 -0
- package/dist/sdk-config-ir/index.cjs.map +1 -0
- package/dist/sdk-config-ir/index.d.cts +2 -0
- package/dist/sdk-config-ir/index.d.ts +2 -0
- package/dist/sdk-config-ir/index.js +819 -0
- package/dist/sdk-config-ir/index.js.map +1 -0
- package/dist/sdk-config-ir/v1/index.cjs +864 -0
- package/dist/sdk-config-ir/v1/index.cjs.map +1 -0
- package/dist/sdk-config-ir/v1/index.d.cts +2416 -0
- package/dist/sdk-config-ir/v1/index.d.ts +2416 -0
- package/dist/sdk-config-ir/v1/index.js +819 -0
- package/dist/sdk-config-ir/v1/index.js.map +1 -0
- package/docs/migration.md +32 -0
- package/package.json +66 -4
- package/src/sdk-config-ir/v1/README.md +321 -0
package/README.md
CHANGED
|
@@ -1,9 +1,70 @@
|
|
|
1
1
|
# @postman/sdk-config
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Shared, runtime-validated configuration contracts for Postman's SDK generation pipeline.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
This package is the source of truth for `SdkConfigIr`. It is intended for sdk-gen-core,
|
|
6
|
+
sdk-gen-api, Postman and Fern CLIs, and translators that normalize producer-specific configuration
|
|
7
|
+
before generation.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
The package is configured as a restricted package in the `@postman` npm scope.
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
npm install @postman/sdk-config
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Use
|
|
18
|
+
|
|
19
|
+
Prefer the versioned entry point at transport and persistence boundaries:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { parseSdkConfigIrV1, type SdkConfigIrV1 } from '@postman/sdk-config/sdk-config-ir/v1';
|
|
23
|
+
|
|
24
|
+
const sdkConfigIr: SdkConfigIrV1 = parseSdkConfigIrV1(untrustedInput);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The package also exposes `@postman/sdk-config` and `@postman/sdk-config/sdk-config-ir` as convenient
|
|
28
|
+
current-version entry points. Persisted payloads must still include `schemaVersion`.
|
|
29
|
+
|
|
30
|
+
Both ESM `import` and CommonJS `require` consumers are supported.
|
|
31
|
+
|
|
32
|
+
## Project layout
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
src/
|
|
36
|
+
sdk-config-ir/
|
|
37
|
+
v1/ # Versioned schema, inferred types, and contract reference
|
|
38
|
+
tests/
|
|
39
|
+
fixtures/
|
|
40
|
+
sdk-config-ir/v1/ # Canonical portable payloads
|
|
41
|
+
sdk-config-ir/v1/ # Contract behavior tests
|
|
42
|
+
docs/
|
|
43
|
+
migration.md # sdk-gen-core adoption sequence
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Develop
|
|
47
|
+
|
|
48
|
+
Requires Node.js 24 or newer. If you use nvm, run `nvm use` from the repository root.
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
npm install
|
|
52
|
+
npm run check
|
|
53
|
+
npm pack --dry-run
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`npm run check` verifies formatting, linting, TypeScript, tests, and the dual-format package build.
|
|
57
|
+
|
|
58
|
+
## Versioning and publishing
|
|
59
|
+
|
|
60
|
+
- npm access is `restricted`; do not set package.json `private: true`, because npm would refuse to
|
|
61
|
+
publish it.
|
|
62
|
+
- Additive v1 fields require a package minor version and a consumer-first rollout because v1 uses
|
|
63
|
+
strict runtime objects: an older consumer rejects fields it does not know.
|
|
64
|
+
- Breaking wire changes get a new schema directory and discriminator such as `sdk-config-ir/v2`.
|
|
65
|
+
- Keep the previous version exported while consumers migrate.
|
|
66
|
+
|
|
67
|
+
Release automation is intentionally not included in the initial scaffold. It will be added and
|
|
68
|
+
validated separately once the repository and its `develop` → `main` release process are established.
|
|
69
|
+
|
|
70
|
+
See the [SDK Config IR v1 reference](src/sdk-config-ir/v1/README.md) for the complete contract.
|