From 57a1275b250813fb097cac15a4f13fdb8bd0c341 Mon Sep 17 00:00:00 2001 From: mercillo Date: Tue, 14 Feb 2023 10:21:22 -0800 Subject: [PATCH 01/10] added custom primitives to manifest --- common/static_xlrs/core/xlr/manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/common/static_xlrs/core/xlr/manifest.json b/common/static_xlrs/core/xlr/manifest.json index f3534f42..351d08af 100644 --- a/common/static_xlrs/core/xlr/manifest.json +++ b/common/static_xlrs/core/xlr/manifest.json @@ -10,6 +10,7 @@ "AssetWrapperOrSwitch", "AssetSwitch", "StaticSwitch", + "CustomPrimitive", "DynamicSwitch", "Expression", "ExpressionRef", From 00f4751b25b445739414363c8827e42150b601b7 Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 15 Feb 2023 11:55:43 -0800 Subject: [PATCH 02/10] added custom primitive json --- common/static_xlrs/core/xlr/CustomPrimitive.json | 9 +++++++++ common/static_xlrs/core/xlr/manifest.js | 3 ++- xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap | 2 ++ xlr/sdk/src/__tests__/sdk.test.ts | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 common/static_xlrs/core/xlr/CustomPrimitive.json diff --git a/common/static_xlrs/core/xlr/CustomPrimitive.json b/common/static_xlrs/core/xlr/CustomPrimitive.json new file mode 100644 index 00000000..bd1788cd --- /dev/null +++ b/common/static_xlrs/core/xlr/CustomPrimitive.json @@ -0,0 +1,9 @@ +{ + "name": "CustomPrimitive", + "source": "src/index.ts", + "type": "object", + "keyType": { + "type": "any" + }, + "title": "CustomPrimitive" +} \ No newline at end of file diff --git a/common/static_xlrs/core/xlr/manifest.js b/common/static_xlrs/core/xlr/manifest.js index 4d64803c..65df8dcc 100644 --- a/common/static_xlrs/core/xlr/manifest.js +++ b/common/static_xlrs/core/xlr/manifest.js @@ -29,10 +29,11 @@ const Templatable = require( './Templatable.json') const Template = require( './Template.json') const View = require( './View.json') const Flow = require( './Flow.json') +const CustomPrimitive = require('./CustomPrimitive.json') module.exports = { "pluginName": "Types", "capabilities": { - "Types":[Asset,AssetBinding,SwitchCase,Switch,AssetWrapper,AssetWrapperOrSwitch,AssetSwitch,StaticSwitch,DynamicSwitch,Expression,ExpressionRef,Binding,BindingRef,DataModel,Navigation,ExpressionObject,NavigationFlow,NavigationFlowTransition,NavigationBaseState,NavigationFlowTransitionableState,NavigationFlowViewState,NavigationFlowEndState,NavigationFlowActionState,NavigationFlowExternalState,NavigationFlowFlowState,NavigationFlowState,FlowResult,Templatable,Template,View,Flow], + "Types":[Asset,AssetBinding,SwitchCase,Switch,AssetWrapper,AssetWrapperOrSwitch,AssetSwitch,StaticSwitch,DynamicSwitch,Expression,ExpressionRef,Binding,BindingRef,DataModel,Navigation,ExpressionObject,NavigationFlow,NavigationFlowTransition,NavigationBaseState,NavigationFlowTransitionableState,NavigationFlowViewState,NavigationFlowEndState,NavigationFlowActionState,NavigationFlowExternalState,NavigationFlowFlowState,NavigationFlowState,FlowResult,Templatable,Template,View,Flow,CustomPrimitive], } } diff --git a/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap b/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap index aa437abc..35537121 100644 --- a/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap +++ b/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap @@ -1342,6 +1342,8 @@ export interface StaticSwitch { case: Expression | true; }>; } +export interface CustomPrimitive { +} export interface DynamicSwitch { /** A dynamic switch re-evaluates the applicable case as data changes */ dynamicSwitch: Array<{ diff --git a/xlr/sdk/src/__tests__/sdk.test.ts b/xlr/sdk/src/__tests__/sdk.test.ts index 37bee409..6524e06f 100644 --- a/xlr/sdk/src/__tests__/sdk.test.ts +++ b/xlr/sdk/src/__tests__/sdk.test.ts @@ -20,6 +20,7 @@ describe('Loading XLRs', () => { expect(sdk.hasType('ExpressionRef')).toStrictEqual(true); expect(sdk.hasType('ActionAsset')).toStrictEqual(true); expect(sdk.hasType('InputAsset')).toStrictEqual(true); + expect(sdk.hasType('CustomPrimitive')).toStrictEqual(true); expect(sdk.hasType('TransformedAction')).toStrictEqual(false); expect(sdk.hasType('TransformedInput')).toStrictEqual(false); }); From 4710e521a83a9d6354a5de2e3100e2176541d61b Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 15 Feb 2023 13:40:49 -0800 Subject: [PATCH 03/10] merged main --- common/static_xlrs/core/xlr/CustomPrimitive.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/static_xlrs/core/xlr/CustomPrimitive.json b/common/static_xlrs/core/xlr/CustomPrimitive.json index bd1788cd..bc3c3105 100644 --- a/common/static_xlrs/core/xlr/CustomPrimitive.json +++ b/common/static_xlrs/core/xlr/CustomPrimitive.json @@ -2,8 +2,8 @@ "name": "CustomPrimitive", "source": "src/index.ts", "type": "object", - "keyType": { - "type": "any" + "properties":{ + }, "title": "CustomPrimitive" } \ No newline at end of file From 94d6e14cff650a81a0c7e8d6b945e8fd2bacc085 Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 15 Feb 2023 15:34:40 -0800 Subject: [PATCH 04/10] added customPrimitives to the manifest type --- common/static_xlrs/core/xlr/CustomPrimitive.json | 9 --------- common/static_xlrs/core/xlr/manifest.js | 3 +-- common/static_xlrs/core/xlr/manifest.json | 1 - common/static_xlrs/plugin/xlr/manifest.js | 10 +++++++++- xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap | 2 -- xlr/sdk/src/__tests__/sdk.test.ts | 1 - xlr/types/src/utility.ts | 2 ++ 7 files changed, 12 insertions(+), 16 deletions(-) delete mode 100644 common/static_xlrs/core/xlr/CustomPrimitive.json diff --git a/common/static_xlrs/core/xlr/CustomPrimitive.json b/common/static_xlrs/core/xlr/CustomPrimitive.json deleted file mode 100644 index bc3c3105..00000000 --- a/common/static_xlrs/core/xlr/CustomPrimitive.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "CustomPrimitive", - "source": "src/index.ts", - "type": "object", - "properties":{ - - }, - "title": "CustomPrimitive" -} \ No newline at end of file diff --git a/common/static_xlrs/core/xlr/manifest.js b/common/static_xlrs/core/xlr/manifest.js index 65df8dcc..4d64803c 100644 --- a/common/static_xlrs/core/xlr/manifest.js +++ b/common/static_xlrs/core/xlr/manifest.js @@ -29,11 +29,10 @@ const Templatable = require( './Templatable.json') const Template = require( './Template.json') const View = require( './View.json') const Flow = require( './Flow.json') -const CustomPrimitive = require('./CustomPrimitive.json') module.exports = { "pluginName": "Types", "capabilities": { - "Types":[Asset,AssetBinding,SwitchCase,Switch,AssetWrapper,AssetWrapperOrSwitch,AssetSwitch,StaticSwitch,DynamicSwitch,Expression,ExpressionRef,Binding,BindingRef,DataModel,Navigation,ExpressionObject,NavigationFlow,NavigationFlowTransition,NavigationBaseState,NavigationFlowTransitionableState,NavigationFlowViewState,NavigationFlowEndState,NavigationFlowActionState,NavigationFlowExternalState,NavigationFlowFlowState,NavigationFlowState,FlowResult,Templatable,Template,View,Flow,CustomPrimitive], + "Types":[Asset,AssetBinding,SwitchCase,Switch,AssetWrapper,AssetWrapperOrSwitch,AssetSwitch,StaticSwitch,DynamicSwitch,Expression,ExpressionRef,Binding,BindingRef,DataModel,Navigation,ExpressionObject,NavigationFlow,NavigationFlowTransition,NavigationBaseState,NavigationFlowTransitionableState,NavigationFlowViewState,NavigationFlowEndState,NavigationFlowActionState,NavigationFlowExternalState,NavigationFlowFlowState,NavigationFlowState,FlowResult,Templatable,Template,View,Flow], } } diff --git a/common/static_xlrs/core/xlr/manifest.json b/common/static_xlrs/core/xlr/manifest.json index 351d08af..f3534f42 100644 --- a/common/static_xlrs/core/xlr/manifest.json +++ b/common/static_xlrs/core/xlr/manifest.json @@ -10,7 +10,6 @@ "AssetWrapperOrSwitch", "AssetSwitch", "StaticSwitch", - "CustomPrimitive", "DynamicSwitch", "Expression", "ExpressionRef", diff --git a/common/static_xlrs/plugin/xlr/manifest.js b/common/static_xlrs/plugin/xlr/manifest.js index 741900ae..8c45c16c 100644 --- a/common/static_xlrs/plugin/xlr/manifest.js +++ b/common/static_xlrs/plugin/xlr/manifest.js @@ -10,5 +10,13 @@ module.exports = { "pluginName": "BaseAssetsPlugin", "capabilities": { "Assets":[InputAsset,TextAsset,ActionAsset,InfoAsset,CollectionAsset, TransformedAction, TransformedInput], - } + }, + "customPrimitives":[ + 'Expression', + 'Asset', + 'Binding', + 'AssetWrapper', + 'Schema.DataType', + 'ExpressionHandler', + ] } diff --git a/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap b/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap index 35537121..aa437abc 100644 --- a/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap +++ b/xlr/sdk/src/__tests__/__snapshots__/sdk.test.ts.snap @@ -1342,8 +1342,6 @@ export interface StaticSwitch { case: Expression | true; }>; } -export interface CustomPrimitive { -} export interface DynamicSwitch { /** A dynamic switch re-evaluates the applicable case as data changes */ dynamicSwitch: Array<{ diff --git a/xlr/sdk/src/__tests__/sdk.test.ts b/xlr/sdk/src/__tests__/sdk.test.ts index 6524e06f..37bee409 100644 --- a/xlr/sdk/src/__tests__/sdk.test.ts +++ b/xlr/sdk/src/__tests__/sdk.test.ts @@ -20,7 +20,6 @@ describe('Loading XLRs', () => { expect(sdk.hasType('ExpressionRef')).toStrictEqual(true); expect(sdk.hasType('ActionAsset')).toStrictEqual(true); expect(sdk.hasType('InputAsset')).toStrictEqual(true); - expect(sdk.hasType('CustomPrimitive')).toStrictEqual(true); expect(sdk.hasType('TransformedAction')).toStrictEqual(false); expect(sdk.hasType('TransformedInput')).toStrictEqual(false); }); diff --git a/xlr/types/src/utility.ts b/xlr/types/src/utility.ts index aabc759e..dfabf651 100644 --- a/xlr/types/src/utility.ts +++ b/xlr/types/src/utility.ts @@ -17,6 +17,8 @@ export interface Manifest { pluginName: string; /** Map of capabilities provided by the plugin to the name of the XLR for the capabilities */ capabilities?: Map>; + /** CustomPrimitives that are the most basic types in the Payer Ecosystem */ + customPrimitives: Array; } export interface TSManifest { From 065de4698e03577d964d352989ecd2993ca652b0 Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 15 Feb 2023 15:46:23 -0800 Subject: [PATCH 05/10] changed customPrimitives to optional and moved from plugin to core --- common/static_xlrs/core/xlr/manifest.js | 10 +++++++++- common/static_xlrs/plugin/xlr/manifest.js | 10 +--------- xlr/types/src/utility.ts | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/common/static_xlrs/core/xlr/manifest.js b/common/static_xlrs/core/xlr/manifest.js index 4d64803c..2a262220 100644 --- a/common/static_xlrs/core/xlr/manifest.js +++ b/common/static_xlrs/core/xlr/manifest.js @@ -34,5 +34,13 @@ module.exports = { "pluginName": "Types", "capabilities": { "Types":[Asset,AssetBinding,SwitchCase,Switch,AssetWrapper,AssetWrapperOrSwitch,AssetSwitch,StaticSwitch,DynamicSwitch,Expression,ExpressionRef,Binding,BindingRef,DataModel,Navigation,ExpressionObject,NavigationFlow,NavigationFlowTransition,NavigationBaseState,NavigationFlowTransitionableState,NavigationFlowViewState,NavigationFlowEndState,NavigationFlowActionState,NavigationFlowExternalState,NavigationFlowFlowState,NavigationFlowState,FlowResult,Templatable,Template,View,Flow], - } + }, + "customPrimitives":[ + 'Expression', + 'Asset', + 'Binding', + 'AssetWrapper', + 'Schema.DataType', + 'ExpressionHandler', + ] } diff --git a/common/static_xlrs/plugin/xlr/manifest.js b/common/static_xlrs/plugin/xlr/manifest.js index 8c45c16c..741900ae 100644 --- a/common/static_xlrs/plugin/xlr/manifest.js +++ b/common/static_xlrs/plugin/xlr/manifest.js @@ -10,13 +10,5 @@ module.exports = { "pluginName": "BaseAssetsPlugin", "capabilities": { "Assets":[InputAsset,TextAsset,ActionAsset,InfoAsset,CollectionAsset, TransformedAction, TransformedInput], - }, - "customPrimitives":[ - 'Expression', - 'Asset', - 'Binding', - 'AssetWrapper', - 'Schema.DataType', - 'ExpressionHandler', - ] + } } diff --git a/xlr/types/src/utility.ts b/xlr/types/src/utility.ts index dfabf651..152b21de 100644 --- a/xlr/types/src/utility.ts +++ b/xlr/types/src/utility.ts @@ -18,7 +18,7 @@ export interface Manifest { /** Map of capabilities provided by the plugin to the name of the XLR for the capabilities */ capabilities?: Map>; /** CustomPrimitives that are the most basic types in the Payer Ecosystem */ - customPrimitives: Array; + customPrimitives?: Array; } export interface TSManifest { From 021cbd3a3688dbdc438038db6482c02a73f72ce5 Mon Sep 17 00:00:00 2001 From: mercillo Date: Tue, 21 Feb 2023 18:53:45 -0500 Subject: [PATCH 06/10] updated capabilties and manifest --- cli/src/commands/xlr/compile.ts | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index 7ede6883..97547fb9 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -131,6 +131,10 @@ export default class XLRCompile extends BaseCommand { } if (generatedCapabilites) { + generatedCapabilites = { + ...generatedCapabilites, + customPrimitives, + }; capabilities = generatedCapabilites; } } @@ -142,6 +146,7 @@ export default class XLRCompile extends BaseCommand { // print out the manifest files const jsonManifest = JSON.stringify(capabilities, this.replacer, 4); + fs.writeFileSync(path.join(outputDirectory, 'manifest.json'), jsonManifest); const tsManifestFile = `${[...(capabilities.capabilities?.values() ?? [])] @@ -151,16 +156,19 @@ export default class XLRCompile extends BaseCommand { }) .join('\n')} -module.exports = { - "pluginName": "${capabilities.pluginName}", - "capabilities": { - ${[...(capabilities.capabilities?.entries() ?? [])] - .map(([capabilityName, provides]) => { - return `"${capabilityName}":[${provides.join(',')}],`; - }) - .join('\n\t\t')} - } -} + module.exports = { + "pluginName": "${capabilities.pluginName}", + "capabilities": { + ${[...(capabilities.capabilities?.entries() ?? [])] + .map(([capabilityName, provides]) => { + return `"${capabilityName}":[${provides.join(',')}],`; + }) + .join('\n\t\t')} + }, + "customPrimitives": { + ${[...(capabilities.customPrimitives?.values() ?? [])]} + } + } `; fs.writeFileSync(path.join(outputDirectory, 'manifest.js'), tsManifestFile); From 2fa53fb85d36b37b7515b75b14ab7f53ad4de727 Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 22 Feb 2023 15:02:57 -0500 Subject: [PATCH 07/10] added custom primitives in quotes --- cli/src/commands/xlr/compile.ts | 11 +++++++---- cli/src/utils/xlr/visitors/file.ts | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index 97547fb9..237e44f6 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -146,7 +146,7 @@ export default class XLRCompile extends BaseCommand { // print out the manifest files const jsonManifest = JSON.stringify(capabilities, this.replacer, 4); - + debugger; fs.writeFileSync(path.join(outputDirectory, 'manifest.json'), jsonManifest); const tsManifestFile = `${[...(capabilities.capabilities?.values() ?? [])] @@ -165,9 +165,12 @@ export default class XLRCompile extends BaseCommand { }) .join('\n\t\t')} }, - "customPrimitives": { - ${[...(capabilities.customPrimitives?.values() ?? [])]} - } + "customPrimitives": [ + ${[ + ...(capabilities.customPrimitives?.map((i) => `'${i}'`).join(',') ?? + ''), + ]} + ] } `; diff --git a/cli/src/utils/xlr/visitors/file.ts b/cli/src/utils/xlr/visitors/file.ts index 2768799b..be55a2a4 100644 --- a/cli/src/utils/xlr/visitors/file.ts +++ b/cli/src/utils/xlr/visitors/file.ts @@ -2,7 +2,6 @@ import type { Manifest } from '@player-tools/xlr'; import path from 'path'; import fs from 'fs'; import type { VisitorProps } from './types'; - /** export all exported types in the file */ export function fileVisitor(args: VisitorProps): Manifest | undefined { const { sourceFile, converter, outputDirectory } = args; From ebf7f0bd7c5bc6bb8ca35fcbd58af95783113dd1 Mon Sep 17 00:00:00 2001 From: mercillo Date: Wed, 22 Feb 2023 15:17:44 -0500 Subject: [PATCH 08/10] removed debugger --- cli/src/commands/xlr/compile.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index 237e44f6..965ec585 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -146,7 +146,6 @@ export default class XLRCompile extends BaseCommand { // print out the manifest files const jsonManifest = JSON.stringify(capabilities, this.replacer, 4); - debugger; fs.writeFileSync(path.join(outputDirectory, 'manifest.json'), jsonManifest); const tsManifestFile = `${[...(capabilities.capabilities?.values() ?? [])] From 5cfd56c8db61161874dd609b5aaa14dc9d1ce709 Mon Sep 17 00:00:00 2001 From: mercillo Date: Thu, 23 Feb 2023 13:10:12 -0500 Subject: [PATCH 09/10] added condition for custom primitive checkn --- cli/src/commands/xlr/compile.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index 965ec585..8978bee9 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -133,8 +133,14 @@ export default class XLRCompile extends BaseCommand { if (generatedCapabilites) { generatedCapabilites = { ...generatedCapabilites, - customPrimitives, }; + if (customPrimitives) { + generatedCapabilites = { + ...generatedCapabilites, + customPrimitives, + }; + } + capabilities = generatedCapabilites; } } From d2977906860695e235b45739ec692f10234f064b Mon Sep 17 00:00:00 2001 From: mercillo Date: Tue, 28 Feb 2023 12:11:03 -0800 Subject: [PATCH 10/10] fixing export layout --- cli/src/commands/xlr/compile.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index 8978bee9..c7282a85 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -171,10 +171,7 @@ export default class XLRCompile extends BaseCommand { .join('\n\t\t')} }, "customPrimitives": [ - ${[ - ...(capabilities.customPrimitives?.map((i) => `'${i}'`).join(',') ?? - ''), - ]} + ${[capabilities.customPrimitives?.map((i) => `'${i}'`).join(',') ?? '']} ] } `;