@voxgig/sdkgen-infrapack 0.0.8 → 0.0.9

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.
@@ -84,6 +84,17 @@ main: kit: target: 'seneca-provider': {
84
84
  # Windows alike. A knob that produces an uninstallable dependency is worse
85
85
  # than no knob.
86
86
  #
87
+ # NPM 12 REFUSES BOTH BY DEFAULT. `allow-git` and `allow-remote` default to
88
+ # "none", so a git or tarball dependency is rejected before anything is
89
+ # fetched (EALLOWGIT / EALLOWREMOTE). The generated CI passes the matching
90
+ # `--allow-*=all` for whichever kind is configured, because the project
91
+ # opting into what it declared is reasonable — but a CONSUMER of the
92
+ # published provider gets no such flag, and will hit the same wall.
93
+ #
94
+ # So this is a stopgap for an SDK that is not published YET, not a
95
+ # substitute for publishing it. An SDK on a registry needs none of it, and
96
+ # the default `npm` kind is the one that works everywhere.
97
+ #
87
98
  # `spec` states the whole dependency value outright and wins over
88
99
  # everything.
89
100
  sdk: dep: {
@@ -1699,7 +1699,7 @@ ${!provider.liveApp ? '' : `
1699
1699
  done
1700
1700
  echo "server did not start; live tests will skip"
1701
1701
  `}
1702
- - run: npm install
1702
+ - run: npm install${provider.sdkInstallFlag}
1703
1703
 
1704
1704
  # The Seneca host framework is a PEER dependency, so the test suite needs
1705
1705
  # it installed explicitly. --no-save keeps npm from rewriting the peer
@@ -1798,7 +1798,7 @@ jobs:
1798
1798
  node-version: 24.x
1799
1799
 
1800
1800
  # install, not ci: this package does not commit a lockfile.
1801
- - run: npm install
1801
+ - run: npm install${provider.sdkInstallFlag}
1802
1802
 
1803
1803
  # The Seneca host framework is a PEER dependency, so the test suite
1804
1804
  # needs it installed explicitly.
@@ -723,6 +723,21 @@ const Main = cmp(function Main(props: any) {
723
723
  // CI note says so, because "npm install is all you need" stops being
724
724
  // true the moment git or a tarball URL is in the path.
725
725
  sdkGit: !sdkDep.startsWith('^'),
726
+ // THE OPT-IN A NON-REGISTRY DEPENDENCY NEEDS, or ''.
727
+ //
728
+ // npm 12 defaults `allow-git` and `allow-remote` to "none" and REFUSES
729
+ // such a dependency outright — EALLOWGIT / EALLOWREMOTE, before it
730
+ // fetches anything. Older npm allowed both, so a workflow that passes
731
+ // today fails the moment its runner image updates; this provider's own
732
+ // publish run failed that way within hours of the build run passing,
733
+ // because publishing upgrades npm first.
734
+ //
735
+ // Emitted ONLY where the project chose such a dependency: it is the
736
+ // project opting into what it already declared, not a default weakened
737
+ // for everyone. Publishing the SDK remains the durable answer, and this
738
+ // flag exists so an unpublished one is workable meanwhile.
739
+ sdkInstallFlag: sdkDep.startsWith('github:') ? ' --allow-git=all' :
740
+ (sdkDep.startsWith('http') ? ' --allow-remote=all' : ''),
726
741
  repoUrl: repo.url,
727
742
  // The SDK's own repo, for pointing at the companion test server which is
728
743
  // only distributed in source.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen-infrapack",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "Infrastructure-provider targets for the Voxgig SDK Generator: Seneca provider.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
@@ -3,7 +3,7 @@
3
3
  "package": 1
4
4
  },
5
5
  "name": "@voxgig/sdkgen-infrapack",
6
- "version": "0.0.8",
6
+ "version": "0.0.9",
7
7
  "engines": {
8
8
  "sdkgen": ">=4.12.0"
9
9
  },