-
Notifications
You must be signed in to change notification settings - Fork 2
refactor(config): readonly-domain-types (stack 8/12, re-split #307) #381
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -197,7 +197,7 @@ export const remoteToolchainPreflight = (mode: 'install' | 'assert'): string => | |
| */ | ||
| export type ToolchainIo = { | ||
| exists(command: string): Effect.Effect<boolean, unknown>; | ||
| run(command: string, args: string[]): Effect.Effect<void, unknown>; | ||
| run(command: string, args: readonly string[]): Effect.Effect<void, unknown>; | ||
| confirm(message: string): Effect.Effect<boolean, unknown>; | ||
|
Comment on lines
198
to
201
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: The newly exposed Severity Level: Major
|
||
| confirmText(message: string, expected: string): Effect.Effect<boolean, unknown>; | ||
| log(message: string): Effect.Effect<void, unknown>; | ||
|
|
@@ -226,7 +226,7 @@ export type EnsureToolchainOptions = { | |
| /** Return the tools from `tools` whose command isn't currently on `PATH`. */ | ||
| const detectMissing = ( | ||
| io: Pick<ToolchainIo, 'exists'>, | ||
| tools: Tool[], | ||
| tools: readonly Tool[], | ||
| ): Effect.Effect<Tool[], unknown> => | ||
| Effect.filter(tools, (tool) => io.exists(tool.command).pipe(Effect.map((exists) => !exists)), { | ||
| concurrency: 1, | ||
|
|
@@ -343,7 +343,7 @@ export const ensureCcacheInstalled = (options: { | |
| */ | ||
| const installBrewTools = ( | ||
| io: ToolchainIo, | ||
| brewTools: Tool[], | ||
| brewTools: readonly Tool[], | ||
| assumeYes: boolean, | ||
| ): Effect.Effect<void, unknown> => | ||
| Effect.gen(function* () { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: A configured pattern of
"*"is accepted by the schema, but this treats it as a prefix wildcard with an empty prefix, so every environment variable matches and is removed from every layer. This can silently produce an empty build environment and exempt every documented key from missing-key validation. Reject"*"or handle it explicitly according to the intended configuration semantics. [incorrect condition logic]Severity Level: Major⚠️
(Use Cmd/Ctrl + Click for best experience)
Prompt for AI Agent 🤖