@theholocron/cli 4.12.2 → 4.14.0
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/README.md +46 -1
- package/dist/cli.mjs +229 -108
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +32 -1
- package/dist/index.mjs +9 -1
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -87,6 +87,26 @@ interface LogConfig {
|
|
|
87
87
|
dataset?: string;
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* CLI self-telemetry config — the committed, reviewable override layer over the
|
|
92
|
+
* env-var + shipped-fallback activation (ADR-0007 / ADR-0008). No secret lives
|
|
93
|
+
* here; the Sentry DSN and PostHog key come from env vars or ship as fallbacks.
|
|
94
|
+
*
|
|
95
|
+
* Precedence: `HOLOCRON_TELEMETRY=false` (env) → `telemetry.enabled` (this) →
|
|
96
|
+
* default on. `enabled` never *re-enables* what the env var turned off.
|
|
97
|
+
*/
|
|
98
|
+
interface TelemetryConfig {
|
|
99
|
+
/**
|
|
100
|
+
* Repo-level opt-out — the committed peer of `HOLOCRON_TELEMETRY=false`.
|
|
101
|
+
* `false` installs the no-op sinks for the whole run. Default on.
|
|
102
|
+
*/
|
|
103
|
+
enabled?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Usage-analytics provider. `"none"` disables PostHog usage analytics while
|
|
106
|
+
* leaving error reporting (Sentry) untouched. Default `"posthog"`.
|
|
107
|
+
*/
|
|
108
|
+
analytics?: "posthog" | "none";
|
|
109
|
+
}
|
|
90
110
|
type ProviderOptions = Record<string, unknown>;
|
|
91
111
|
/**
|
|
92
112
|
* The shape a capability config package's default export must satisfy.
|
|
@@ -444,6 +464,16 @@ interface HolocronConfig {
|
|
|
444
464
|
* { level: "debug" }
|
|
445
465
|
*/
|
|
446
466
|
log?: LogConfig;
|
|
467
|
+
/**
|
|
468
|
+
* CLI self-telemetry override layer. Env var (`HOLOCRON_TELEMETRY=false`)
|
|
469
|
+
* still wins; this is the committed way to opt a repo out or drop usage
|
|
470
|
+
* analytics while keeping error reporting.
|
|
471
|
+
*
|
|
472
|
+
* @example
|
|
473
|
+
* { enabled: false }
|
|
474
|
+
* { analytics: "none" }
|
|
475
|
+
*/
|
|
476
|
+
telemetry?: TelemetryConfig;
|
|
447
477
|
}
|
|
448
478
|
interface ResolvedTuple {
|
|
449
479
|
provider: string;
|
|
@@ -482,6 +512,7 @@ interface ResolvedHolocronConfig {
|
|
|
482
512
|
docs?: PagesConfig;
|
|
483
513
|
env?: EnvConfig;
|
|
484
514
|
log?: LogConfig;
|
|
515
|
+
telemetry?: TelemetryConfig;
|
|
485
516
|
}
|
|
486
517
|
declare class ConfigError extends Error {
|
|
487
518
|
name: string;
|
|
@@ -573,4 +604,4 @@ interface LoadedConfig {
|
|
|
573
604
|
*/
|
|
574
605
|
declare function loadConfig(cwd: string): Promise<LoadedConfig>;
|
|
575
606
|
//#endregion
|
|
576
|
-
export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, StorybookDeployProject, TaskEntryConfig, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
|
|
607
|
+
export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, StorybookDeployProject, TaskEntryConfig, TeamEntry, TeamPermission, TelemetryConfig, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
|
package/dist/index.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import { execFile } from "node:child_process";
|
|
|
6
6
|
import { readFile } from "node:fs/promises";
|
|
7
7
|
import { basename, dirname, join } from "node:path";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
|
+
import { loadTasksConfig } from "@theholocron/astromech/config";
|
|
9
10
|
import { ConfigFileError, ConfigFileError as ConfigFileError$1, loadConfigFile } from "@theholocron/datapad";
|
|
10
11
|
createEnvLookup();
|
|
11
12
|
/**
|
|
@@ -215,7 +216,8 @@ function resolveConfig(raw) {
|
|
|
215
216
|
skills: raw.skills,
|
|
216
217
|
docs,
|
|
217
218
|
env: raw.env,
|
|
218
|
-
log: raw.log
|
|
219
|
+
log: raw.log,
|
|
220
|
+
telemetry: raw.telemetry
|
|
219
221
|
};
|
|
220
222
|
}
|
|
221
223
|
//#endregion
|
|
@@ -351,6 +353,12 @@ async function deriveDefaults(configDir, raw) {
|
|
|
351
353
|
name: repoName
|
|
352
354
|
};
|
|
353
355
|
}
|
|
356
|
+
const manifest = await loadTasksConfig(configDir);
|
|
357
|
+
if (manifest.tasks) result.tasks = manifest.tasks;
|
|
358
|
+
if (manifest.syncScripts !== void 0) result.syncScripts = manifest.syncScripts;
|
|
359
|
+
if (manifest.holocronScript !== void 0) result.holocronScript = manifest.holocronScript;
|
|
360
|
+
if (manifest.hooks !== void 0) result.hooks = manifest.hooks;
|
|
361
|
+
if (manifest.extraRequiredChecks) result.extraRequiredChecks = [...result.extraRequiredChecks ?? [], ...manifest.extraRequiredChecks];
|
|
354
362
|
return result;
|
|
355
363
|
}
|
|
356
364
|
async function readPackageJsonName(dir) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theholocron/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.14.0",
|
|
4
4
|
"description": "The Holocron CLI - a pluggable, capability-based orchestrator for spinning up and operating software projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"ora": "^9.4.1",
|
|
53
53
|
"posthog-node": "^5.51.6",
|
|
54
54
|
"yargs": "^18.1.0",
|
|
55
|
-
"@theholocron/astromech": "4.
|
|
56
|
-
"@theholocron/
|
|
57
|
-
"@theholocron/
|
|
55
|
+
"@theholocron/astromech": "4.14.0",
|
|
56
|
+
"@theholocron/logger": "4.14.0",
|
|
57
|
+
"@theholocron/datapad": "4.14.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@theholocron/eslint-config": "^8.0.0",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"tsx": "4.23.12",
|
|
72
72
|
"typescript": "^5.9.3",
|
|
73
73
|
"vitest": "^4.1.11",
|
|
74
|
-
"@theholocron/rollup-plugin-transform-template": "4.
|
|
74
|
+
"@theholocron/rollup-plugin-transform-template": "4.14.0"
|
|
75
75
|
},
|
|
76
76
|
"engines": {
|
|
77
77
|
"node": ">=22.0.0"
|