Skip to content

chore(ci): cache Bun dependencies in GitHub Actions#327

Closed
Paveltarno wants to merge 16 commits intomainfrom
chore/cache-bun-deps
Closed

chore(ci): cache Bun dependencies in GitHub Actions#327
Paveltarno wants to merge 16 commits intomainfrom
chore/cache-bun-deps

Conversation

@Paveltarno
Copy link
Collaborator

@Paveltarno Paveltarno commented Feb 24, 2026

Note

Description

This PR adds a secrets command group to the Base44 CLI, enabling users to manage project secrets (environment variables) directly from the terminal. It introduces secrets list, secrets set, and secrets delete subcommands, backed by a new core resource layer with full Zod schema validation. The secrets set command supports both inline KEY=VALUE pairs and loading from a .env file via --env-file.

Related Issue

None

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Changes Made

  • Added src/core/resources/secret/ module with listSecrets, setSecrets, and deleteSecret API functions, Zod response schemas, and barrel exports
  • Added src/cli/commands/secrets/ with list, set, and delete subcommands registered under a secrets command group
  • secrets set supports inline KEY=VALUE pairs and --env-file <path> (mutually exclusive); uses Commander .hook("preAction") for input validation
  • Added dotenv dependency and src/core/utils/env.ts parseEnvFile utility for .env file parsing
  • Registered getSecretsCommand in src/cli/program.ts
  • Added comprehensive integration tests in tests/cli/secrets.spec.ts (12 test cases covering all commands, error paths, edge cases like values containing =)
  • Extended Base44APIMock with mockSecretsList, mockSecretsSet, mockSecretsDelete, and corresponding error mock helpers
  • Updated docs/commands.md with a section on Commander .hook("preAction") validation and a style rule for consistent copy across related commands; updated README.md command table
  • Added Bun dependency caching (actions/cache@v5) to all six GitHub Actions workflows
  • Fixed .npmrc to use standard registry= key

Testing

  • I have tested these changes locally
  • I have added/updated tests as needed
  • All tests pass (npm test)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have updated docs/ (AGENTS.md) if I made architectural changes

Additional Notes

The secrets set --env-file flag resolves relative paths against process.cwd() via node:path's resolve. Values in .env files are parsed by dotenv (comments and blank lines are ignored automatically). The secrets list command intentionally displays only secret names, never values, to avoid leaking sensitive data.


🤖 Generated by Claude | 2026-02-24 00:00 UTC

kfirstri and others added 16 commits February 24, 2026 17:21
Drop masked values from secrets list output — just show the secret names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns with copy style of other commands.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…layer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add actions/cache@v5 for ~/.bun/install/cache across all 6 workflows
that run bun install. Also add cache: true for Bun binary caching on
the 4 workflows that were missing it (lint, knip, preview-publish,
manual-publish).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/cli@0.0.35-pr.327.93263cb

Prefer not to change any import paths? Install using npm alias so your code still imports base44:

npm i "base44@npm:@base44-preview/cli@0.0.35-pr.327.93263cb"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "base44": "npm:@base44-preview/cli@0.0.35-pr.327.93263cb"
  }
}

Preview published to npm registry — try new features instantly!

@Paveltarno Paveltarno closed this Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants