@voxgig/sdkgen 4.13.3 → 4.14.0

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/bin/voxgig-sdkgen CHANGED
@@ -8,7 +8,7 @@ const { Shape, One, Skip } = require('shape')
8
8
 
9
9
  const { SdkGen } = require('../dist/sdkgen.js')
10
10
 
11
- const VERSION = '4.13.3'
11
+ const VERSION = '4.14.0'
12
12
  const KONSOLE = console
13
13
 
14
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "4.13.3",
3
+ "version": "4.14.0",
4
4
  "main": "dist/sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -14,6 +14,18 @@ const Gitignore = cmp(async function Gitignore(_props: any) {
14
14
  /vendor/
15
15
  composer.phar
16
16
 
17
+ # composer install writes composer.lock, and a generated SDK is a LIBRARY, not
18
+ # an application: Composer's own guidance is that a library does not commit its
19
+ # lock file, because the versions it would pin are the ones a consumer has to be
20
+ # free to resolve.
21
+ #
22
+ # Leaving it untracked-but-not-ignored was worse than untidy. A fleet-wide test
23
+ # run calls composer install in every repo, so all of them then read as dirty —
24
+ # and the pre-flight "is any repo dirty" check exists because pub-regen wipes
25
+ # uncommitted work. 609 dirty repos hide the one that is really carrying
26
+ # something.
27
+ composer.lock
28
+
17
29
  # PHPUnit
18
30
  .phpunit.cache/
19
31
  .phpunit.result.cache
@@ -295,7 +295,15 @@ ${hasList ? `
295
295
  // and the apikey/server map above it.
296
296
  Vs::ismap($extra) ? $extra : new \\stdClass(),
297
297
  ]);
298
- $client = new ${model.const.Name}SDK(Helpers::to_map($merged_opts));
298
+ // "?? []" because merge legitimately answers with a stdClass when every
299
+ // contributing entry is an EMPTY map - an SDK with no apikey and no
300
+ // server variables generates an empty middle entry, so that is the
301
+ // common case, not the edge one. to_map returns null for a non-array by
302
+ // design, and the constructor takes a non-nullable array, so without the
303
+ // fallback every such SDK died on "must be of type array, null given"
304
+ // the moment live mode was switched on. Offline mode never reaches this
305
+ // branch, which is why the offline suite stayed green.
306
+ $client = new ${model.const.Name}SDK(Helpers::to_map($merged_opts) ?? []);
299
307
  }
300
308
 
301
309
  $live = $env["${PROJUPPER}_TEST_LIVE"] === "TRUE";
@@ -3,7 +3,7 @@
3
3
  "package": 1
4
4
  },
5
5
  "name": "@voxgig/sdkgen",
6
- "version": "4.13.3",
6
+ "version": "4.14.0",
7
7
  "provides": {
8
8
  "target": [
9
9
  "c",