fix(cli): address Gemini test report — local mode, validate bug, offline flag
A. acr init --local: new local mode, no Cloudflare account required;
config defaults to mode:local when ~/.arcrun/config.yaml missing
B. validate node-count bug: removed faulty input/output node heuristic
that dropped start/end nodes from config check; now all nodes except
reserved 'input' keyword must have config entries
C. acr validate --offline: skip remote component-existence and credentials
checks; local mode also auto-skips these checks
D. parts.ts: replace require('node:fs') with static import (ES module fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
* acr parts scaffold <component> — 輸出 config 範本
|
||||
* acr parts publish <component> — 提交零件至公眾 registry
|
||||
*/
|
||||
import { readFileSync, existsSync } from 'node:fs';
|
||||
import { readFileSync, existsSync, readdirSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
import chalk from 'chalk';
|
||||
import ora from 'ora';
|
||||
@@ -226,7 +226,6 @@ function loadLocalComponents(): ComponentInfo[] {
|
||||
for (const dir of dirs) {
|
||||
if (existsSync(dir)) {
|
||||
const components: ComponentInfo[] = [];
|
||||
const { readdirSync } = require('node:fs');
|
||||
for (const name of readdirSync(dir)) {
|
||||
const contractPath = join(dir, name, 'component.contract.yaml');
|
||||
if (existsSync(contractPath)) {
|
||||
|
||||
Reference in New Issue
Block a user