@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