@microsoft/managed-apps-codegen 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Dataverse/generateDataverseModel.d.ts.map +1 -1
- package/dist/Dataverse/generateDataverseModel.js +8 -5
- package/dist/Dataverse/generateDataverseModel.js.map +1 -1
- package/dist/shared/schemaUtils.d.ts +8 -0
- package/dist/shared/schemaUtils.d.ts.map +1 -1
- package/dist/shared/schemaUtils.js +19 -6
- package/dist/shared/schemaUtils.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# @microsoft/managed-apps-codegen
|
|
2
2
|
|
|
3
|
-
AST-based TypeScript code generation for the Microsoft
|
|
3
|
+
AST-based TypeScript code generation for the Microsoft managed apps stack, built on [ts-morph](https://ts-morph.com/). It generates the typed data-source client code (Dataverse models and services) emitted during developer actions. Internal implementation detail of [`@microsoft/managed-apps-actions`](https://www.npmjs.com/package/@microsoft/managed-apps-actions).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDataverseModel.d.ts","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"generateDataverseModel.d.ts","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,oBAAoB;IAC5B,aAAa,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC,CAAC,CAsCD;AAgSD,eAAe,sBAAsB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { VariableDeclarationKind } from 'ts-morph';
|
|
5
5
|
import { generateLookupValuePropertyName, generateODataBindPropertyName, getDataverseLookupColumns, getDataverseMultiSelectPicklistFields, hasOptionsetData, iterateDataverseProperties, } from '../shared/dataverseUtils.js';
|
|
6
|
-
import { convertToValidIdentifier, formatPropertyName, normalizePropertyName,
|
|
6
|
+
import { convertToValidIdentifier, formatPropertyName, normalizePropertyName, } from '../shared/nameUtils.js';
|
|
7
7
|
import { formatEnumLabel, generateOptionsetEnumName, getPropertiesNode, getRequiredFields, isJsonObject, } from '../shared/schemaUtils.js';
|
|
8
8
|
import { determineTypeScriptType } from '../shared/typeUtils.js';
|
|
9
9
|
export async function generateDataverseModel({ parentContext, schema, fileColumnNames, imageColumnNames, modelFilePath, }) {
|
|
@@ -79,11 +79,14 @@ function addOptionsetDeclarations(sourceFile, modelName, propertiesNode) {
|
|
|
79
79
|
}
|
|
80
80
|
// Dataverse format: x-ms-enum-values contains numeric values.
|
|
81
81
|
// Emit a const object mapping numeric keys to display names, plus a keyof type alias.
|
|
82
|
+
// The display label is emitted as a runtime string value (the type alias below is
|
|
83
|
+
// `keyof typeof`, i.e. the numeric keys), so it must preserve the original localized
|
|
84
|
+
// text (Vietnamese, CJK, etc.) rather than being collapsed to an identifier.
|
|
82
85
|
const entries = enumLabels.map((label, i) => {
|
|
83
|
-
const
|
|
84
|
-
? `EmptyOption${i}`
|
|
85
|
-
:
|
|
86
|
-
return ` ${enumValues[i]}:
|
|
86
|
+
const labelLiteral = !label || (typeof label === 'string' && label.trim() === '')
|
|
87
|
+
? `'EmptyOption${i}'`
|
|
88
|
+
: formatEnumLabel(label);
|
|
89
|
+
return ` ${enumValues[i]}: ${labelLiteral}`;
|
|
87
90
|
});
|
|
88
91
|
sourceFile.addVariableStatement({
|
|
89
92
|
declarationKind: VariableDeclarationKind.Const,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDataverseModel.js","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAmB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpE,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,yBAAyB,EACzB,qCAAqC,EACrC,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"generateDataverseModel.js","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,14 @@ export declare function getNameNode(schema: unknown): string;
|
|
|
21
21
|
export declare function hasEnumValues(propValue: JsonObject): boolean;
|
|
22
22
|
/** Produces the TypeScript identifier used for the type alias generated from an optionset property. */
|
|
23
23
|
export declare function generateOptionsetEnumName(modelName: string, propName: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Escapes a string for safe embedding inside a single-quoted TypeScript string literal.
|
|
26
|
+
*
|
|
27
|
+
* Preserves all Unicode characters (e.g. Vietnamese, CJK, Arabic) and only escapes the
|
|
28
|
+
* characters that would otherwise break the literal: backslash, single quote, and line
|
|
29
|
+
* terminators (including the U+2028/U+2029 line/paragraph separators).
|
|
30
|
+
*/
|
|
31
|
+
export declare function escapeSingleQuotedString(str: string): string;
|
|
24
32
|
/** Formats an enum value as a TypeScript string literal for use in union types. */
|
|
25
33
|
export declare function formatEnumLabel(label: unknown): string;
|
|
26
34
|
/** Returns true if the schema comes from a SharePoint data source (has a `referencedEntities` property). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAGhE;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAKpE;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAKrE;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CASnD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAGhE;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAKpE;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAKrE;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CASnD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAStD;AAED,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAcnE;AAED,gHAAgH;AAChH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CASrE"}
|
|
@@ -65,19 +65,32 @@ export function hasEnumValues(propValue) {
|
|
|
65
65
|
export function generateOptionsetEnumName(modelName, propName) {
|
|
66
66
|
return convertToValidIdentifier(`${modelName}${propName}`);
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Escapes a string for safe embedding inside a single-quoted TypeScript string literal.
|
|
70
|
+
*
|
|
71
|
+
* Preserves all Unicode characters (e.g. Vietnamese, CJK, Arabic) and only escapes the
|
|
72
|
+
* characters that would otherwise break the literal: backslash, single quote, and line
|
|
73
|
+
* terminators (including the U+2028/U+2029 line/paragraph separators).
|
|
74
|
+
*/
|
|
75
|
+
export function escapeSingleQuotedString(str) {
|
|
76
|
+
return str
|
|
77
|
+
.replace(/\\/g, '\\\\')
|
|
78
|
+
.replace(/'/g, "\\'")
|
|
79
|
+
.replace(/\n/g, '\\n')
|
|
80
|
+
.replace(/\r/g, '\\r')
|
|
81
|
+
.replace(/\u2028/g, '\\u2028')
|
|
82
|
+
.replace(/\u2029/g, '\\u2029');
|
|
83
|
+
}
|
|
68
84
|
/** Formats an enum value as a TypeScript string literal for use in union types. */
|
|
69
85
|
export function formatEnumLabel(label) {
|
|
70
86
|
if (label === null || label === undefined) {
|
|
71
87
|
return "''";
|
|
72
88
|
}
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
return `'${String(label).replace(/'/g, "\\'")}'`;
|
|
76
|
-
}
|
|
77
|
-
if (label.trim() === '') {
|
|
89
|
+
const str = String(label);
|
|
90
|
+
if (str.trim() === '') {
|
|
78
91
|
return "''";
|
|
79
92
|
}
|
|
80
|
-
return `'${
|
|
93
|
+
return `'${escapeSingleQuotedString(str)}'`;
|
|
81
94
|
}
|
|
82
95
|
/** Returns true if the schema comes from a SharePoint data source (has a `referencedEntities` property). */
|
|
83
96
|
export function isSharepointSchema(root) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,6IAA6I;IAC7I,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC;AAC/B,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,GAAG,CAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,GAAG,EAAU,CAAC;AAC3B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,QAAiB;IACvD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,yBAAyB,CAAC;QACnC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,SAAqB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,QAAgB;IAC3E,OAAO,wBAAwB,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,6IAA6I;IAC7I,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC;AAC/B,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,GAAG,CAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,GAAG,EAAU,CAAC;AAC3B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,QAAiB;IACvD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,yBAAyB,CAAC;QACnC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,SAAqB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,QAAgB;IAC3E,OAAO,wBAAwB,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,OAAO,GAAG;SACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,CACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,CAC/F,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,wBAAwB,CAAC,QAAiB;IACxD,IAAI,CAAC;QACH,IACE,YAAY,CAAC,QAAQ,CAAC;YACtB,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC3C,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC;YACtD,QAAQ,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,IAAI,EAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,yBAAyB,CAAC,MAAe;IACvD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,MAAM,KAAK,GAAI,MAA2C,EAAE,MAAM,EAAE,KAAK,CAAC;QAC1E,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,wDAAwD,OAAO,KAAK,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/managed-apps-codegen",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "AST-based TypeScript code generation for Microsoft Managed Apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"clean": "bun ../../scripts/clean.ts dist .turbo tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@microsoft/managed-apps-common": "0.
|
|
48
|
+
"@microsoft/managed-apps-common": "0.12.0",
|
|
49
49
|
"prettier": "3.8.1",
|
|
50
50
|
"ts-morph": "27.0.2"
|
|
51
51
|
},
|