code-foundry 1.36.1 → 1.36.3
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/.github/dependabot.yml +2 -2
- package/.github/workflows/cloudflare-deploy.yml +17 -6
- package/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/commands/sync.mjs +30 -6
package/.github/dependabot.yml
CHANGED
|
@@ -17,7 +17,7 @@ updates:
|
|
|
17
17
|
github-actions:
|
|
18
18
|
applies-to: version-updates
|
|
19
19
|
patterns: ['*']
|
|
20
|
-
- package-ecosystem:
|
|
20
|
+
- package-ecosystem: bun
|
|
21
21
|
directory: /
|
|
22
22
|
target-branch: staging
|
|
23
23
|
schedule:
|
|
@@ -25,7 +25,7 @@ updates:
|
|
|
25
25
|
day: sunday
|
|
26
26
|
open-pull-requests-limit: 99
|
|
27
27
|
groups:
|
|
28
|
-
|
|
28
|
+
bun-dependencies:
|
|
29
29
|
applies-to: version-updates
|
|
30
30
|
patterns: ['*']
|
|
31
31
|
ignore:
|
|
@@ -283,19 +283,30 @@ jobs:
|
|
|
283
283
|
# cf path: refresh the Build Output with the project's own
|
|
284
284
|
# cf-wrangler delegate, then deploy/preview it with the cf CLI.
|
|
285
285
|
# Both CLIs come from the app's devDependencies installed by the
|
|
286
|
-
# build step
|
|
287
|
-
|
|
288
|
-
|
|
286
|
+
# build step. Resolve their bins by walking up from the working
|
|
287
|
+
# directory: bun hoists workspace bins to arbitrary levels, and
|
|
288
|
+
# npx's local resolution misses them (then hits the registry,
|
|
289
|
+
# where cf-wrangler does not exist).
|
|
290
|
+
binpath="$PWD"
|
|
291
|
+
while [ "$binpath" != / ]; do
|
|
292
|
+
[ -d "$binpath/node_modules/.bin" ] && PATH="$binpath/node_modules/.bin:$PATH"
|
|
293
|
+
binpath=$(dirname "$binpath")
|
|
294
|
+
done
|
|
295
|
+
export PATH
|
|
296
|
+
command -v cf-wrangler >/dev/null || {
|
|
297
|
+
echo 'cf-wrangler not found: declare cf and wrangler as devDependencies of the deployed package' >&2
|
|
298
|
+
exit 1
|
|
299
|
+
}
|
|
289
300
|
if [ "$MODE" = production ]; then
|
|
290
|
-
out="$(
|
|
301
|
+
out="$(cf deploy --prebuilt)"
|
|
291
302
|
printf '%s\n' "$out"
|
|
292
303
|
version_id="$(printf '%s\n' "$out" | sed -n 's/.*Current Version ID: *//p' | head -1 | tr -d '[:space:]')"
|
|
293
304
|
value="${DEPLOYMENT_URL:-$(printf '%s\n' "$out" | grep -o 'https://[^[:space:]]*' | head -1)}"
|
|
294
305
|
else
|
|
295
306
|
# Previews refuse a production Build Output; rebuild flagged as
|
|
296
307
|
# a preview build first.
|
|
297
|
-
CLOUDFLARE_PREVIEW_BUILD=true
|
|
298
|
-
|
|
308
|
+
CLOUDFLARE_PREVIEW_BUILD=true cf-wrangler build --mode preview
|
|
309
|
+
cf previews deploy "$PREVIEW_NAME" > "$RUNNER_TEMP/cf-preview.json"
|
|
299
310
|
value="$(jq -r '.preview_urls[0] // empty' "$RUNNER_TEMP/cf-preview.json")"
|
|
300
311
|
version_id="$(jq -r '.deployment_id // empty' "$RUNNER_TEMP/cf-preview.json")"
|
|
301
312
|
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.36.3](https://github.com/0xPlayerOne/code-foundry/compare/v1.36.2...v1.36.3) (2026-09-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Maintenance
|
|
7
|
+
|
|
8
|
+
* track the JavaScript Dependabot ecosystem as bun by default ([#648](https://github.com/0xPlayerOne/code-foundry/issues/648)) ([6aa9712](https://github.com/0xPlayerOne/code-foundry/commit/6aa9712904340a7e4783f697a0e02d2be6ab1dce))
|
|
9
|
+
|
|
10
|
+
## [1.36.2](https://github.com/0xPlayerOne/code-foundry/compare/v1.36.1...v1.36.2) (2026-09-29)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **cloudflare:** resolve cf bins by walking up node_modules/.bin ([#662](https://github.com/0xPlayerOne/code-foundry/issues/662)) ([e82bbe0](https://github.com/0xPlayerOne/code-foundry/commit/e82bbe0a1687b5cc8bf939769e15639f25199969))
|
|
16
|
+
|
|
3
17
|
## [1.36.1](https://github.com/0xPlayerOne/code-foundry/compare/v1.36.0...v1.36.1) (2026-09-29)
|
|
4
18
|
|
|
5
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-foundry",
|
|
3
|
-
"version": "1.36.
|
|
3
|
+
"version": "1.36.3",
|
|
4
4
|
"description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
|
|
5
5
|
"homepage": "https://github.com/0xPlayerOne/code-foundry#readme",
|
|
6
6
|
"bugs": {
|
package/src/commands/sync.mjs
CHANGED
|
@@ -818,11 +818,13 @@ function removeWorkflowBlock(content, blockId) {
|
|
|
818
818
|
|
|
819
819
|
/**
|
|
820
820
|
* Dependabot updates land on the repository's integration branch. Direct
|
|
821
|
-
* repositories have no staging branch, so every update targets main.
|
|
822
|
-
*
|
|
823
|
-
*
|
|
824
|
-
*
|
|
825
|
-
*
|
|
821
|
+
* repositories have no staging branch, so every update targets main. The
|
|
822
|
+
* JavaScript ecosystem block ships as `bun` (the fleet default) and is
|
|
823
|
+
* retargeted to `npm` for consumers whose `package_manager` is npm; Cargo,
|
|
824
|
+
* the JavaScript block, and pip updates are emitted only when Rust,
|
|
825
|
+
* TypeScript, or Python is part of the configured language set,
|
|
826
|
+
* respectively; weekly updater runs fail when an ecosystem has no manifests
|
|
827
|
+
* to read, so unconfigured ecosystems are dropped instead of left to error.
|
|
826
828
|
*
|
|
827
829
|
* The billing pause must also cover Dependabot: its update runs execute as
|
|
828
830
|
* Actions workflows under the `dynamic` event, so the `CI_BILLING_PAUSED`
|
|
@@ -843,11 +845,20 @@ export function renderDependabot(content, config, languages) {
|
|
|
843
845
|
rendered = stripDependabotEcosystem(rendered, 'cargo')
|
|
844
846
|
}
|
|
845
847
|
if (!includesValue(languages, 'typescript')) {
|
|
846
|
-
rendered = stripDependabotEcosystem(rendered, '
|
|
848
|
+
rendered = stripDependabotEcosystem(rendered, 'bun')
|
|
847
849
|
}
|
|
848
850
|
if (!includesValue(languages, 'python')) {
|
|
849
851
|
rendered = stripDependabotEcosystem(rendered, 'pip')
|
|
850
852
|
}
|
|
853
|
+
if (
|
|
854
|
+
includesValue(languages, 'typescript') &&
|
|
855
|
+
configured(config.package_manager, 'bun') === 'npm'
|
|
856
|
+
) {
|
|
857
|
+
// The template tracks the fleet's bun majority; an npm-locked consumer
|
|
858
|
+
// needs the npm ecosystem or Dependabot fails with misconfigured_tooling
|
|
859
|
+
// (it cannot read bun.lock).
|
|
860
|
+
rendered = swapBunEcosystemForNpm(rendered)
|
|
861
|
+
}
|
|
851
862
|
if (configured(config.billing_paused, 'false') === 'true') {
|
|
852
863
|
rendered = pauseDependabot(rendered)
|
|
853
864
|
}
|
|
@@ -855,6 +866,19 @@ export function renderDependabot(content, config, languages) {
|
|
|
855
866
|
return rendered.replaceAll('target-branch: staging', 'target-branch: main')
|
|
856
867
|
}
|
|
857
868
|
|
|
869
|
+
/**
|
|
870
|
+
* Retarget the JavaScript ecosystem block to npm for npm-locked consumers.
|
|
871
|
+
* Exact-string based so template drift fails loudly at Dependabot time
|
|
872
|
+
* instead of silently scanning the wrong lockfile.
|
|
873
|
+
* @param {string} content
|
|
874
|
+
* @returns {string}
|
|
875
|
+
*/
|
|
876
|
+
function swapBunEcosystemForNpm(content) {
|
|
877
|
+
return content
|
|
878
|
+
.replace(' - package-ecosystem: bun\n', ' - package-ecosystem: npm\n')
|
|
879
|
+
.replace(' bun-dependencies:\n', ' npm-dependencies:\n')
|
|
880
|
+
}
|
|
881
|
+
|
|
858
882
|
/**
|
|
859
883
|
* Disable Dependabot version updates for every remaining ecosystem. The
|
|
860
884
|
* transformations are regex-based so they hold for any ecosystem count and
|