-
Notifications
You must be signed in to change notification settings - Fork 0
feat: runtime plugins, env lock, and docs updates #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
docs: update runtime and security notes
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR transitions the project from Node.js-focused to Bun-first with multi-runtime support (Bun, Node, Deno, QuickJS), introduces a dynamic runtime plugin system, adds environment manifest locking and drift detection, implements new CLI commands ( Changes
Sequence Diagram(s)sequenceDiagram
participant CLI
participant Init as init Command
participant Registry as Runtime Registry
participant Config as Runtime Config
participant FS as File System
CLI->>Init: initCommand(serviceName, options)
Init->>Registry: isValidRuntime(runtime)
Registry-->>Init: ✓ valid
Init->>Registry: getRuntimeConfig(runtime)
Config->>Registry: Load plugin & resolve version
Registry-->>Init: RuntimeConfig {defaultEntry, plugin, ...}
Init->>FS: Write service.yaml with entry
Init->>FS: Write package.json with entry
Init->>FS: Write index.ts/js (based on entry type)
FS-->>Init: ✓ Files created
Init-->>CLI: ✓ Service initialized
sequenceDiagram
participant CLI
participant Lock as lock Command
participant Env as Environment Module
participant Registry as Runtime Registry
participant FS as File System
CLI->>Lock: lockCommand(servicePath, options)
Lock->>Env: checkEnvironmentDrift(servicePath, runtime)
Env->>Registry: getRuntimeConfig(runtime)
Env->>FS: Load package.json, lock files
Env->>Env: Hash dependencies, detect lockfile
Env-->>Lock: EnvironmentInfo {isLocked, isDrift, ...}
alt --check flag
Lock->>CLI: Print drift info & exit
else proceed to lock
Lock->>Env: createEnvironmentManifest(servicePath, runtime)
Env->>Env: Parse runtime, resolve version, hash files
Env-->>Lock: EnvironmentManifest
Lock->>Env: saveEnvironmentManifest(servicePath, manifest)
Env->>FS: Write ignite.lock (YAML)
FS-->>Lock: ✓ Locked
Lock-->>CLI: ✓ Environment locked
end
sequenceDiagram
participant CLI
participant Env as env Command
participant Registry as Runtime Registry
participant Plugin as Runtime Plugin
participant FS as File System
CLI->>Env: envCommand(servicePath, options)
alt --runtimes flag
Env->>Registry: listRuntimes()
Registry->>Plugin: Fetch BUILTIN_RUNTIMES
Plugin-->>Registry: {bun, node, deno, quickjs, versions, ...}
Registry-->>Env: Format runtimes list
Env-->>CLI: Print supported runtimes & examples
else service info
Env->>FS: Load service.yaml
Env->>Env: checkEnvironmentDrift(servicePath, runtime)
Env-->>CLI: Print service, runtime, drift status
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Poem
✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Testing
Summary by CodeRabbit
New Features
ignite lockcommand for environment locking and drift detection.ignite envcommand to display environment information and supported runtimes.ignite runcommand.Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.