Skip to content

Commit d52a5f6

Browse files
Fix admin spec: use createConfigExtensionSpecification with proper schema and config keys
- Switch from createContractBasedModuleSpecification to createConfigExtensionSpecification so the spec gets experience: 'configuration' and is treated as an app config spec - Add AdminSchema with root_path and uploaded_files fields to claim those TOML keys - Fix configKey from 'admin.static_root' to 'root_path' - Fix generateManifest → generatesAssetsManifest Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 28cb4e9 commit d52a5f6

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

packages/app/src/cli/models/extensions/specification.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,13 +289,14 @@ export function createConfigExtensionSpecification<TConfiguration extends BaseCo
289289
export function createContractBasedModuleSpecification<TConfiguration extends BaseConfigType = BaseConfigType>(
290290
spec: Pick<
291291
CreateExtensionSpecType<TConfiguration>,
292-
'identifier' | 'appModuleFeatures' | 'buildConfig' | 'uidStrategy' | 'clientSteps'
292+
'identifier' | 'appModuleFeatures' | 'buildConfig' | 'uidStrategy' | 'clientSteps' | 'transformRemoteToLocal'
293293
>,
294294
) {
295295
return createExtensionSpecification({
296296
identifier: spec.identifier,
297297
schema: zod.any({}) as unknown as ZodSchemaType<TConfiguration>,
298298
appModuleFeatures: spec.appModuleFeatures,
299+
transformRemoteToLocal: spec.transformRemoteToLocal,
299300
clientSteps: spec.clientSteps,
300301
buildConfig: spec.buildConfig ?? {mode: 'none'},
301302
uidStrategy: spec.uidStrategy ?? 'single',

packages/app/src/cli/models/extensions/specifications/admin.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ import {createContractBasedModuleSpecification} from '../specification.js'
33
export const AdminSpecIdentifier = 'admin'
44

55
const adminSpecificationSpec = createContractBasedModuleSpecification({
6-
identifier: 'admin',
7-
uidStrategy: 'single',
6+
identifier: AdminSpecIdentifier,
7+
transformRemoteToLocal: (remoteContent, _options) => {
8+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
9+
return {admin: (remoteContent as any).admin}
10+
},
811
buildConfig: {
912
mode: 'copy_files',
1013
filePatterns: [],
@@ -18,7 +21,6 @@ const adminSpecificationSpec = createContractBasedModuleSpecification({
1821
name: 'Hosted App Copy Files',
1922
type: 'include_assets',
2023
config: {
21-
generateManifest: true,
2224
inclusions: [
2325
{
2426
type: 'configKey',

0 commit comments

Comments
 (0)