@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 CHANGED
@@ -1,9 +1,70 @@
1
1
  # @postman/sdk-config
2
2
 
3
- Namespace placeholder for `@postman/sdk-config`.
3
+ Shared, runtime-validated configuration contracts for Postman's SDK generation pipeline.
4
4
 
5
- Real releases ship from CI via OIDC Trusted Publishing see the linked
6
- repository for the release workflow. This `0.0.0` stub exists only to claim
7
- the name under the `@postman` scope and apply least-privilege team
8
- permissions. It is private (`--access restricted`); the first real release
9
- makes the package public if/when the team decides.
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.