chore: adopt Dart 3.9 toolchain — honest floor + tall-style reformat (T-353)
Raise the declared minimums in pubspec.yaml to what our deps already require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist 0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is the binding floor. Pin the exact build toolchain in .fvmrc (Flutter 3.44.1). Moving to the Dart 3.9 language level switches `dart format` to the new "tall" style and enables two new lints. This commit is the resulting mechanical churn, isolated from any behaviour change: - whole-tree `dart format` reformat (tall style) - `dart fix` for unnecessary_underscores + use_null_aware_elements No runtime behaviour change; `make test` green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,14 +29,12 @@ const String argvSentinelCmd = '_argv';
|
||||
ArgvParseResult unwrapArgvRequest(IpcRequest outer) {
|
||||
final raw = outer.args['argv'];
|
||||
if (raw is! List) {
|
||||
return ArgvError(IpcResponse.err(
|
||||
id: outer.id,
|
||||
error: IpcError(
|
||||
code: IpcExitCode.userError,
|
||||
kind: IpcErrorKind.userError,
|
||||
message: '_argv requires args.argv to be a JSON array',
|
||||
return ArgvError(
|
||||
IpcResponse.err(
|
||||
id: outer.id,
|
||||
error: IpcError(code: IpcExitCode.userError, kind: IpcErrorKind.userError, message: '_argv requires args.argv to be a JSON array'),
|
||||
),
|
||||
));
|
||||
);
|
||||
}
|
||||
return parseArgv(raw.cast<String>(), requestId: outer.id);
|
||||
}
|
||||
|
||||
@@ -73,11 +73,7 @@ ArgvParseResult parseArgv(List<String> argv, {required String requestId}) {
|
||||
if (parsed is _TailError) {
|
||||
return ArgvError(_err(requestId, parsed.message));
|
||||
}
|
||||
return ArgvParsed(IpcRequest(
|
||||
id: requestId,
|
||||
cmd: first,
|
||||
args: (parsed as _TailOk).toArgs(),
|
||||
));
|
||||
return ArgvParsed(IpcRequest(id: requestId, cmd: first, args: (parsed as _TailOk).toArgs()));
|
||||
}
|
||||
|
||||
// Subsystem.verb form: need at least two tokens.
|
||||
@@ -97,11 +93,7 @@ ArgvParseResult parseArgv(List<String> argv, {required String requestId}) {
|
||||
if (parsed is _TailError) {
|
||||
return ArgvError(_err(requestId, parsed.message));
|
||||
}
|
||||
return ArgvParsed(IpcRequest(
|
||||
id: requestId,
|
||||
cmd: '$subsystem.$verb',
|
||||
args: (parsed as _TailOk).toArgs(),
|
||||
));
|
||||
return ArgvParsed(IpcRequest(id: requestId, cmd: '$subsystem.$verb', args: (parsed as _TailOk).toArgs()));
|
||||
}
|
||||
|
||||
/// Route a `clide://` deep link to the `deeplink.invoke` command (T-56). A
|
||||
@@ -109,9 +101,15 @@ ArgvParseResult parseArgv(List<String> argv, {required String requestId}) {
|
||||
/// it is NOT translated into a command here. The raw URL is handed to the
|
||||
/// deeplink handler, which validates it against a paranoid (default-deny)
|
||||
/// allowlist and prompts the user before doing anything (D-90).
|
||||
ArgvParseResult _deepLinkToRequest(String url, String requestId) => ArgvParsed(IpcRequest(id: requestId, cmd: 'deeplink.invoke', args: {
|
||||
'positional': [url]
|
||||
}));
|
||||
ArgvParseResult _deepLinkToRequest(String url, String requestId) => ArgvParsed(
|
||||
IpcRequest(
|
||||
id: requestId,
|
||||
cmd: 'deeplink.invoke',
|
||||
args: {
|
||||
'positional': [url],
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
// -- internals --------------------------------------------------------------
|
||||
|
||||
@@ -126,10 +124,10 @@ class _TailOk extends _TailParseResult {
|
||||
final List<String> passthrough;
|
||||
|
||||
Map<String, Object?> toArgs() => {
|
||||
if (positional.isNotEmpty) 'positional': positional,
|
||||
if (flags.isNotEmpty) 'flags': flags,
|
||||
if (passthrough.isNotEmpty) 'passthrough': passthrough,
|
||||
};
|
||||
if (positional.isNotEmpty) 'positional': positional,
|
||||
if (flags.isNotEmpty) 'flags': flags,
|
||||
if (passthrough.isNotEmpty) 'passthrough': passthrough,
|
||||
};
|
||||
}
|
||||
|
||||
class _TailError extends _TailParseResult {
|
||||
@@ -221,10 +219,6 @@ bool _isValidIdentifier(String s) {
|
||||
bool _isValidFlagName(String s) => _isValidIdentifier(s);
|
||||
|
||||
IpcResponse _err(String id, String message) => IpcResponse.err(
|
||||
id: id,
|
||||
error: IpcError(
|
||||
code: IpcExitCode.userError,
|
||||
kind: IpcErrorKind.userError,
|
||||
message: message,
|
||||
),
|
||||
);
|
||||
id: id,
|
||||
error: IpcError(code: IpcExitCode.userError, kind: IpcErrorKind.userError, message: message),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user