Squash the current repository state back into one baseline commit while preserving the README reframing and repository contents. Constraint: User explicitly requested a single squashed commit with subject "asdf" Confidence: high Scope-risk: broad Reversibility: clean Directive: This commit intentionally rewrites published history; coordinate before future force-pushes Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr Not-tested: Fresh clone verification after push
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import memoize from 'lodash-es/memoize.js'
|
|
import { join } from 'path'
|
|
import { getPlatform } from '../platform.js'
|
|
|
|
/**
|
|
* Get the path to the managed settings directory based on the current platform.
|
|
*/
|
|
export const getManagedFilePath = memoize(function (): string {
|
|
// Allow override for testing/demos (Ant-only, eliminated from external builds)
|
|
if (
|
|
process.env.USER_TYPE === 'ant' &&
|
|
process.env.CLAUDE_CODE_MANAGED_SETTINGS_PATH
|
|
) {
|
|
return process.env.CLAUDE_CODE_MANAGED_SETTINGS_PATH
|
|
}
|
|
|
|
switch (getPlatform()) {
|
|
case 'macos':
|
|
return '/Library/Application Support/ClaudeCode'
|
|
case 'windows':
|
|
return 'C:\\Program Files\\ClaudeCode'
|
|
default:
|
|
return '/etc/claude-code'
|
|
}
|
|
})
|
|
|
|
/**
|
|
* Get the path to the managed-settings.d/ drop-in directory.
|
|
* managed-settings.json is merged first (base), then files in this directory
|
|
* are merged alphabetically on top (drop-ins override base, later files win).
|
|
*/
|
|
export const getManagedSettingsDropInDir = memoize(function (): string {
|
|
return join(getManagedFilePath(), 'managed-settings.d')
|
|
})
|