@contentful/experience-design-system-cli 2.34.5-dev-build-5e798cb1.0 → 2.34.5-dev-build-ea694b2.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/dist/package.json +2 -1
- package/dist/src/analyze/composition/interchange-schema.d.ts +4 -24
- package/dist/src/analyze/composition/resolve-mapping-cli.d.ts +0 -11
- package/dist/src/analyze/composition/resolve-mapping.d.ts +5 -7
- package/dist/src/credentials-store.d.ts +2 -15
- package/dist/src/doctor/checks.d.ts +5 -0
- package/dist/src/doctor/command.d.ts +2 -0
- package/dist/src/doctor/report.d.ts +7 -0
- package/dist/src/import/agent-model-resolve.d.ts +8 -4
- package/dist/src/import/composition-options.d.ts +0 -2
- package/dist/src/import/tui/WizardApp.d.ts +3 -2
- package/dist/src/import/tui/run-selection-agent.d.ts +8 -0
- package/dist/src/index.js +24384 -23435
- package/dist/src/lib/agent-definitions.d.ts +14 -0
- package/dist/src/lib/agent-model-options.d.ts +4 -4
- package/dist/src/lib/debug-logger.d.ts +2 -3
- package/dist/src/program.d.ts +1 -1
- package/dist/src/setup/SetupScreen.d.ts +28 -0
- package/dist/src/setup/SetupStepper.d.ts +7 -0
- package/dist/src/setup/command.d.ts +1 -7
- package/dist/src/setup/lib/checks.d.ts +57 -0
- package/dist/src/setup/lib/shell.d.ts +12 -0
- package/dist/src/setup/steps/CodingAgentScreen.d.ts +20 -0
- package/dist/src/setup/steps/ContentfulCredentialsScreen.d.ts +11 -0
- package/dist/src/setup/steps/StepLayout.d.ts +20 -0
- package/dist/src/setup/steps/preferences/AnalyticsScreen.d.ts +5 -0
- package/dist/src/setup/steps/preferences/BooleanInput.d.ts +21 -0
- package/dist/src/setup/steps/preferences/ColorPreferenceScreen.d.ts +5 -0
- package/dist/src/setup/steps/preferences/CustomPromptScreen.d.ts +14 -0
- package/dist/src/setup/steps/preferences/DebugLogsScreen.d.ts +5 -0
- package/dist/src/setup/steps/preferences/PreferencesMenu.d.ts +26 -0
- package/dist/src/setup/steps/prerequisites/PrerequisitesScreen.d.ts +16 -0
- package/dist/src/setup/steps/prerequisites/build.d.ts +2 -0
- package/dist/src/setup/steps/prerequisites/deps.d.ts +33 -0
- package/dist/src/setup/steps/prerequisites/index.d.ts +4 -0
- package/dist/src/setup/steps/prerequisites/node.d.ts +2 -0
- package/dist/src/setup/steps/prerequisites/pnpm.d.ts +2 -0
- package/package.json +7 -6
- package/dist/src/setup/analytics-prompt.d.ts +0 -13
- package/dist/src/setup/debug-mode-prompt.d.ts +0 -11
- package/dist/src/setup/prompt-helpers.d.ts +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentName } from '@contentful/experience-design-system-generation';
|
|
2
|
+
export interface AgentDefinition {
|
|
3
|
+
name: string;
|
|
4
|
+
binary: AgentName;
|
|
5
|
+
/** The npm package that installs this agent, so callers never spell it out again. */
|
|
6
|
+
packageName: string;
|
|
7
|
+
installSuffix?: string;
|
|
8
|
+
/** Whether `experiences setup` offers to install it. Copilot is detect-only. */
|
|
9
|
+
installable: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const AGENT_DEFS: readonly AgentDefinition[];
|
|
12
|
+
export declare function installCommand(agent: AgentDefinition): string;
|
|
13
|
+
export declare function installHint(agent: AgentDefinition): string;
|
|
14
|
+
export declare const INSTALLABLE_AGENTS: AgentDefinition[];
|
|
@@ -4,12 +4,12 @@ export declare const MODEL_DESCRIPTION = "Model to use (defaults to a lightweigh
|
|
|
4
4
|
export interface AgentModelOptionsConfig {
|
|
5
5
|
agentDescription?: string;
|
|
6
6
|
includeModel?: boolean;
|
|
7
|
+
includeBedrock?: boolean;
|
|
7
8
|
modelDescription?: string;
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
|
-
* Register --agent
|
|
11
|
-
* command.
|
|
12
|
-
*
|
|
13
|
-
* and is always registered alongside --agent.
|
|
11
|
+
* Register --agent plus optional --model and --bedrock flags with a Commander
|
|
12
|
+
* command. The optional flags can be omitted for commands with a narrower
|
|
13
|
+
* public surface.
|
|
14
14
|
*/
|
|
15
15
|
export declare function addAgentModelOptions(cmd: Command, config?: AgentModelOptionsConfig): Command;
|
|
@@ -29,9 +29,8 @@ export declare function __resetDebugLoggerForTest(): void;
|
|
|
29
29
|
* Resolve effective debug-mode setting from three sources.
|
|
30
30
|
*
|
|
31
31
|
* Precedence (highest first):
|
|
32
|
-
* 1.
|
|
33
|
-
* 2. `
|
|
34
|
-
* 3. Persisted `debug` field in credentials.json
|
|
32
|
+
* 1. `EDSI_DEBUG` env var (truthy: 1, true, yes, on)
|
|
33
|
+
* 2. Persisted `debug` field in credentials.json
|
|
35
34
|
* 4. Default: OFF
|
|
36
35
|
*/
|
|
37
36
|
export declare function resolveDebugMode(opts: {
|
package/dist/src/program.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare function runBuild(opts: {
|
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* Walks `actionCommand` and its ancestors for a truthy `--bedrock`. --bedrock
|
|
20
|
-
* is registered per-subcommand
|
|
20
|
+
* is registered per-subcommand, so a
|
|
21
21
|
* root-level or subcommand-level setting can each carry it.
|
|
22
22
|
*/
|
|
23
23
|
export declare function resolveBedrockFromAncestors(actionCommand: Command): boolean;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type SetupResultEntry = {
|
|
3
|
+
name: string;
|
|
4
|
+
status: 'completed' | 'skipped' | 'failed';
|
|
5
|
+
required: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function formatSetupCompletionMessage(results: readonly SetupResultEntry[]): string;
|
|
8
|
+
/** Prompts and output are UI-owned; the screen supplies the rest itself. */
|
|
9
|
+
export type SetupSkipFlags = {
|
|
10
|
+
skipBuild?: boolean;
|
|
11
|
+
skipAgent?: boolean;
|
|
12
|
+
skipCredentials?: boolean;
|
|
13
|
+
skipOptional?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type SetupOutcome = {
|
|
16
|
+
results: SetupResultEntry[];
|
|
17
|
+
exitCode: number;
|
|
18
|
+
};
|
|
19
|
+
type SetupScreenProps = {
|
|
20
|
+
version: string;
|
|
21
|
+
repoRoot: string;
|
|
22
|
+
skip?: SetupSkipFlags;
|
|
23
|
+
/** Defaults to the live Ink stdout columns. */
|
|
24
|
+
columns?: number;
|
|
25
|
+
onComplete: (outcome: SetupOutcome) => void;
|
|
26
|
+
};
|
|
27
|
+
export declare function SetupScreen({ version, repoRoot, skip, columns: columnsOverride, onComplete, }: SetupScreenProps): React.ReactElement;
|
|
28
|
+
export {};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
export declare
|
|
3
|
-
/**
|
|
4
|
-
* Prompt the operator for a custom skill prompt path. Returns the resolved
|
|
5
|
-
* trimmed value, or `undefined` to leave the current value unchanged, or `null`
|
|
6
|
-
* to clear it. `ask` is injectable so tests can stub stdin.
|
|
7
|
-
*/
|
|
8
|
-
export declare function promptCustomSkillPath(current: string | undefined, ask?: (q: string) => Promise<string>): Promise<string | undefined | null>;
|
|
2
|
+
export declare const SETUP_REQUIRES_TTY_MESSAGE = "Error: experiences setup requires an interactive terminal.";
|
|
9
3
|
export declare function registerSetupCommand(program: Command): void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { binaryExists, pathExists, runSpawn, type ShellCommandResult } from './shell.js';
|
|
2
|
+
/**
|
|
3
|
+
* The decision half of each prerequisite check, shared by `experiences doctor`
|
|
4
|
+
* and the setup wizard's Prerequisites step. Neither writes output from here:
|
|
5
|
+
* doctor streams ANSI, setup emits events for Ink, and both need the same
|
|
6
|
+
* verdict. Anything a caller needs for its own wording is returned rather than
|
|
7
|
+
* printed.
|
|
8
|
+
*/
|
|
9
|
+
export interface NodeVersionCheck {
|
|
10
|
+
passed: boolean;
|
|
11
|
+
version: string;
|
|
12
|
+
major: number;
|
|
13
|
+
required: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function checkNodeVersion(nodeVersion?: string): NodeVersionCheck;
|
|
16
|
+
/** Which Node version manager is available, so callers can offer the right fix. */
|
|
17
|
+
export interface NodeVersionManagers {
|
|
18
|
+
nvm: boolean;
|
|
19
|
+
fnm: boolean;
|
|
20
|
+
nvmScript: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function detectNodeVersionManagers(homeDir: string, deps?: {
|
|
23
|
+
binaryExists: typeof binaryExists;
|
|
24
|
+
pathExists: typeof pathExists;
|
|
25
|
+
}): Promise<NodeVersionManagers>;
|
|
26
|
+
export type PnpmCheck = {
|
|
27
|
+
status: 'missing';
|
|
28
|
+
} | {
|
|
29
|
+
status: 'broken';
|
|
30
|
+
} | {
|
|
31
|
+
status: 'unusable-in-repo';
|
|
32
|
+
version: string;
|
|
33
|
+
} | {
|
|
34
|
+
status: 'ok';
|
|
35
|
+
version: string;
|
|
36
|
+
};
|
|
37
|
+
type PnpmDeps = {
|
|
38
|
+
binaryExists: typeof binaryExists;
|
|
39
|
+
run: typeof runSpawn;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* `detectPnpm` plus proof that pnpm can execute inside the repo. A store built
|
|
43
|
+
* against a different Node version still passes `--version` but fails there,
|
|
44
|
+
* which is the failure operators actually hit — so both doctor and setup check it.
|
|
45
|
+
*/
|
|
46
|
+
export declare function checkPnpm(pkgRoot: string, deps?: PnpmDeps): Promise<PnpmCheck>;
|
|
47
|
+
export interface CommandCheck {
|
|
48
|
+
passed: boolean;
|
|
49
|
+
result: ShellCommandResult;
|
|
50
|
+
}
|
|
51
|
+
export declare function installDependencies(repoRoot: string, deps?: {
|
|
52
|
+
run: typeof runSpawn;
|
|
53
|
+
}): Promise<CommandCheck>;
|
|
54
|
+
export declare function buildCli(repoRoot: string, deps?: {
|
|
55
|
+
run: typeof runSpawn;
|
|
56
|
+
}): Promise<CommandCheck>;
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const REQUIRED_NODE_MAJOR = 24;
|
|
2
|
+
export interface ShellCommandResult {
|
|
3
|
+
exitCode: number;
|
|
4
|
+
stdout: string;
|
|
5
|
+
stderr: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function binaryExists(name: string): Promise<boolean>;
|
|
8
|
+
export declare function pathExists(path: string): Promise<boolean>;
|
|
9
|
+
export declare function runSpawn(cmd: string, args: string[], opts?: {
|
|
10
|
+
cwd?: string;
|
|
11
|
+
env?: NodeJS.ProcessEnv;
|
|
12
|
+
}): Promise<ShellCommandResult>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AgentName } from '@contentful/experience-design-system-generation';
|
|
3
|
+
import { type AgentDefinition } from '../../lib/agent-definitions.js';
|
|
4
|
+
import { binaryExists, runSpawn } from '../lib/shell.js';
|
|
5
|
+
import { type StepDone } from './StepLayout.js';
|
|
6
|
+
export declare function detectAgents(exists?: (binary: string) => Promise<boolean>): Promise<AgentDefinition[]>;
|
|
7
|
+
/** Codex needs a model only when it authenticates through a ChatGPT account. */
|
|
8
|
+
export declare function needsCodexModel(agent: AgentName, env: NodeJS.ProcessEnv): boolean;
|
|
9
|
+
export type CodingAgentDeps = {
|
|
10
|
+
binaryExists: typeof binaryExists;
|
|
11
|
+
run: typeof runSpawn;
|
|
12
|
+
env: NodeJS.ProcessEnv;
|
|
13
|
+
};
|
|
14
|
+
type CodingAgentScreenProps = {
|
|
15
|
+
onDone: StepDone;
|
|
16
|
+
/** Injected so tests can drive detection and install without spawning. */
|
|
17
|
+
deps?: CodingAgentDeps;
|
|
18
|
+
};
|
|
19
|
+
export declare function CodingAgentScreen({ onDone, deps }: CodingAgentScreenProps): React.ReactElement;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StepDone } from './StepLayout.js';
|
|
3
|
+
/**
|
|
4
|
+
* Env vars still act as a fallback when a field on disk is empty, so an operator
|
|
5
|
+
* who skips this step should know an ambient value would take effect.
|
|
6
|
+
*/
|
|
7
|
+
export declare function envShadowingWarning(env: NodeJS.ProcessEnv): string | null;
|
|
8
|
+
export declare function maskToken(token: string): string;
|
|
9
|
+
export declare function ContentfulCredentialsScreen({ onDone }: {
|
|
10
|
+
onDone: StepDone;
|
|
11
|
+
}): React.ReactElement;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type StepStatus = 'completed' | 'skipped' | 'failed';
|
|
3
|
+
export type StepDone = (status: StepStatus) => void;
|
|
4
|
+
type StepLayoutProps = {
|
|
5
|
+
helpText?: string;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
prompt?: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export declare function StepLayout({ helpText, children, prompt }: StepLayoutProps): React.ReactElement;
|
|
10
|
+
export declare function StepSuccess({ children }: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}): React.ReactElement;
|
|
13
|
+
export declare function StepWarning({ children }: {
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}): React.ReactElement;
|
|
16
|
+
export declare function StepValue({ label, value }: {
|
|
17
|
+
label: string;
|
|
18
|
+
value: string | undefined;
|
|
19
|
+
}): React.ReactElement;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ExperiencesCredentials } from '../../../credentials-store.js';
|
|
3
|
+
import { type StepDone } from '../StepLayout.js';
|
|
4
|
+
type BooleanPreferenceProps = {
|
|
5
|
+
helpText: string;
|
|
6
|
+
question: string;
|
|
7
|
+
/** What choosing each option means, named after the outcome rather than yes/no. */
|
|
8
|
+
labels: {
|
|
9
|
+
on: string;
|
|
10
|
+
off: string;
|
|
11
|
+
};
|
|
12
|
+
/** Reads the stored value; `undefined` means the operator has never set it. */
|
|
13
|
+
read: (credentials: ExperiencesCredentials) => boolean | undefined;
|
|
14
|
+
/** Applied to the stored credentials when the answer differs from the default. */
|
|
15
|
+
write: (credentials: ExperiencesCredentials, value: boolean) => ExperiencesCredentials;
|
|
16
|
+
/** What the setting means when it has never been set. */
|
|
17
|
+
fallback: boolean;
|
|
18
|
+
onDone: StepDone;
|
|
19
|
+
};
|
|
20
|
+
export declare function BooleanInput({ helpText, question, labels, read, write, fallback, onDone, }: BooleanPreferenceProps): React.ReactElement;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ExperiencesCredentials } from '../../../credentials-store.js';
|
|
3
|
+
import { type StepDone } from '../StepLayout.js';
|
|
4
|
+
/**
|
|
5
|
+
* Interpret an answer to a custom prompt path question: empty keeps whatever is
|
|
6
|
+
* stored, `-` clears it, anything else is the new path.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseCustomSkillPath(answer: string): string | undefined | null;
|
|
9
|
+
export declare function customSkillPathQuestion(current: string | undefined): string;
|
|
10
|
+
/** Apply a parsed answer to the credentials, clearing the field on `null`. */
|
|
11
|
+
export declare function applyCustomSkillPath(credentials: ExperiencesCredentials, parsed: string | undefined | null): ExperiencesCredentials;
|
|
12
|
+
export declare function CustomPromptsScreen({ onDone }: {
|
|
13
|
+
onDone: StepDone;
|
|
14
|
+
}): React.ReactElement;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StepDone } from '../StepLayout.js';
|
|
3
|
+
type PreferenceScreenProps = {
|
|
4
|
+
onDone: StepDone;
|
|
5
|
+
};
|
|
6
|
+
export declare const PREFERENCE_OPTIONS: readonly [{
|
|
7
|
+
readonly key: "customPrompts";
|
|
8
|
+
readonly label: "Custom prompts";
|
|
9
|
+
readonly Screen: ({ onDone }: PreferenceScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
}, {
|
|
11
|
+
readonly key: "debug";
|
|
12
|
+
readonly label: "Debug logging";
|
|
13
|
+
readonly Screen: ({ onDone }: PreferenceScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
}, {
|
|
15
|
+
readonly key: "analytics";
|
|
16
|
+
readonly label: "Usage analytics";
|
|
17
|
+
readonly Screen: ({ onDone }: PreferenceScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
}, {
|
|
19
|
+
readonly key: "noColor";
|
|
20
|
+
readonly label: "Terminal colors";
|
|
21
|
+
readonly Screen: ({ onDone }: PreferenceScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
}];
|
|
23
|
+
export declare function PreferencesMenu({ onDone }: {
|
|
24
|
+
onDone: StepDone;
|
|
25
|
+
}): React.ReactElement;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PrerequisiteDeps, PrerequisitesOutcome } from './deps.js';
|
|
3
|
+
export type PrerequisitesScreenProps = {
|
|
4
|
+
repoRoot: string;
|
|
5
|
+
skipBuild?: boolean;
|
|
6
|
+
onDone: (outcome: PrerequisitesOutcome) => void;
|
|
7
|
+
/** Injected so tests can drive the checks without spawning processes. */
|
|
8
|
+
deps?: Pick<PrerequisiteDeps, 'nodeVersion' | 'homeDir' | 'binaryExists' | 'pathExists' | 'run'>;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Prerequisites runs as soon as the wizard opens and reports each check as it
|
|
12
|
+
* finishes. It keeps a driver rather than a per-question screen because the flow
|
|
13
|
+
* is sequential — a failed check may offer an install, and the next check depends
|
|
14
|
+
* on that answer.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PrerequisitesScreen({ repoRoot, skipBuild, onDone, deps, }: PrerequisitesScreenProps): React.ReactElement;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { binaryExists, pathExists, runSpawn } from '../../lib/shell.js';
|
|
2
|
+
export type PrerequisiteEventKind = 'success' | 'failure' | 'warning' | 'info';
|
|
3
|
+
export interface PrerequisiteEvent {
|
|
4
|
+
kind: PrerequisiteEventKind;
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* What the prerequisite checks need from the outside world.
|
|
9
|
+
*
|
|
10
|
+
* Unlike the other steps, this one is a sequential process rather than a form —
|
|
11
|
+
* it checks Node, may offer to install a version manager, checks pnpm, may offer
|
|
12
|
+
* corepack or npm, then installs and builds. Those mid-flow confirmations mean it
|
|
13
|
+
* keeps an imperative shape, so it takes `confirm` and `emit` rather than
|
|
14
|
+
* rendering each question itself.
|
|
15
|
+
*/
|
|
16
|
+
export interface PrerequisiteDeps {
|
|
17
|
+
nodeVersion: string;
|
|
18
|
+
homeDir: string;
|
|
19
|
+
binaryExists: typeof binaryExists;
|
|
20
|
+
pathExists: typeof pathExists;
|
|
21
|
+
run: typeof runSpawn;
|
|
22
|
+
confirm(question: string, defaultYes?: boolean): Promise<boolean>;
|
|
23
|
+
emit(event: PrerequisiteEvent): void;
|
|
24
|
+
}
|
|
25
|
+
export interface PrerequisiteResult {
|
|
26
|
+
passed: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface PrerequisitesOutcome {
|
|
29
|
+
node: PrerequisiteResult;
|
|
30
|
+
pnpm?: PrerequisiteResult;
|
|
31
|
+
build?: PrerequisiteResult;
|
|
32
|
+
}
|
|
33
|
+
export declare function emit(deps: PrerequisiteDeps, kind: PrerequisiteEventKind, message: string): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/experience-design-system-cli",
|
|
3
|
-
"version": "2.34.5-dev-build-
|
|
3
|
+
"version": "2.34.5-dev-build-ea694b2.0",
|
|
4
4
|
"description": "Contentful Experiences design system import CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"skills/"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
+
"@inkjs/ui": "^2.0.0",
|
|
32
33
|
"@segment/analytics-node": "^3.0.0",
|
|
33
34
|
"@vue/compiler-sfc": "^3.5.31",
|
|
34
35
|
"commander": "^13.1.0",
|
|
@@ -40,8 +41,8 @@
|
|
|
40
41
|
"svelte": "^5.56.4",
|
|
41
42
|
"ts-morph": "^27.0.2",
|
|
42
43
|
"typescript": "^5.9.3",
|
|
43
|
-
"@contentful/experience-design-system-cli-v2": "2.34.5-dev-build-
|
|
44
|
-
"@contentful/experience-design-system-types": "2.34.5-dev-build-
|
|
44
|
+
"@contentful/experience-design-system-cli-v2": "2.34.5-dev-build-ea694b2.0",
|
|
45
|
+
"@contentful/experience-design-system-types": "2.34.5-dev-build-ea694b2.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
48
|
"@tsconfig/node24": "^24.0.4",
|
|
@@ -53,9 +54,9 @@
|
|
|
53
54
|
"ink-testing-library": "^4.0.0",
|
|
54
55
|
"typescript-eslint": "^8.67.0",
|
|
55
56
|
"vitest": "^4.0.16",
|
|
56
|
-
"@contentful/experience-design-system-
|
|
57
|
-
"@contentful/experience-design-system-
|
|
58
|
-
"@contentful/experience-design-system-
|
|
57
|
+
"@contentful/experience-design-system-extraction": "2.34.5-dev-build-ea694b2.0",
|
|
58
|
+
"@contentful/experience-design-system-generation": "2.34.5-dev-build-ea694b2.0",
|
|
59
|
+
"@contentful/experience-design-system-client": "2.34.5-dev-build-ea694b2.0"
|
|
59
60
|
},
|
|
60
61
|
"repository": {
|
|
61
62
|
"type": "git",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ask the operator whether to persist an opt-out of anonymous usage analytics.
|
|
3
|
-
*
|
|
4
|
-
* The helper is injectable so it can be unit-tested without a TTY. The caller
|
|
5
|
-
* provides an `ask` function that yields one line of input per call.
|
|
6
|
-
*
|
|
7
|
-
* Behavior:
|
|
8
|
-
* - Empty input returns `current` if defined, else `false` (default: enabled).
|
|
9
|
-
* - Input starting with 'y' or 'Y' returns `true` (disabled).
|
|
10
|
-
* - Input starting with 'n' or 'N' returns `false` (enabled).
|
|
11
|
-
* - Any other input falls back to the same rule as empty input.
|
|
12
|
-
*/
|
|
13
|
-
export declare function promptAnalyticsPreference(ask: (q: string) => Promise<string>, current?: boolean): Promise<boolean>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ask the operator whether to enable debug logging by default.
|
|
3
|
-
*
|
|
4
|
-
* When ON, every command writes a JSONL trace of its decisions to
|
|
5
|
-
* ~/.contentful/experience-design-system-cli/debug/. Off by default because
|
|
6
|
-
* the trace file grows quickly and contains verbose per-tool-call detail
|
|
7
|
-
* intended for developers debugging the CLI.
|
|
8
|
-
*
|
|
9
|
-
* Injectable `ask` so tests can drive without a TTY.
|
|
10
|
-
*/
|
|
11
|
-
export declare function promptDebugModePreference(ask: (q: string) => Promise<string>, current?: boolean): Promise<boolean>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function promptBooleanPreference(ask: (question: string) => Promise<string>, current: boolean | undefined, defaultValue: boolean, question: string): Promise<boolean>;
|