@ankhorage/deploy 0.12.10 → 0.13.1
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/CHANGELOG.md +12 -0
- package/dist/authoring.d.ts +7 -0
- package/dist/authoring.d.ts.map +1 -0
- package/dist/authoring.js +6 -0
- package/dist/authoring.js.map +1 -0
- package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.d.ts +5 -0
- package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.d.ts.map +1 -0
- package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.js +11 -0
- package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.js.map +1 -0
- package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.d.ts +5 -0
- package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.d.ts.map +1 -0
- package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.js +14 -0
- package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.js.map +1 -0
- package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.d.ts +5 -0
- package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.d.ts.map +1 -0
- package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.js +24 -0
- package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.js.map +1 -0
- package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.d.ts +5 -0
- package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.d.ts.map +1 -0
- package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.js +33 -0
- package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.js.map +1 -0
- package/dist/features/authoring/domain/deployAuthoringStructure.d.ts +395 -0
- package/dist/features/authoring/domain/deployAuthoringStructure.d.ts.map +1 -0
- package/dist/features/authoring/domain/deployAuthoringStructure.js +238 -0
- package/dist/features/authoring/domain/deployAuthoringStructure.js.map +1 -0
- package/dist/features/authoring/utils/createDeployAuthoringRegistry.d.ts +3 -0
- package/dist/features/authoring/utils/createDeployAuthoringRegistry.d.ts.map +1 -0
- package/dist/features/authoring/utils/createDeployAuthoringRegistry.js +8 -0
- package/dist/features/authoring/utils/createDeployAuthoringRegistry.js.map +1 -0
- package/dist/features/authoring/utils/readDeployAuthoringRegistryValues.d.ts +3 -0
- package/dist/features/authoring/utils/readDeployAuthoringRegistryValues.d.ts.map +1 -0
- package/dist/features/authoring/utils/readDeployAuthoringRegistryValues.js +9 -0
- package/dist/features/authoring/utils/readDeployAuthoringRegistryValues.js.map +1 -0
- package/dist/types/deployAuthoring.d.ts +46 -0
- package/dist/types/deployAuthoring.d.ts.map +1 -0
- package/dist/types/deployAuthoring.js +2 -0
- package/dist/types/deployAuthoring.js.map +1 -0
- package/package.json +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/deploy
|
|
2
2
|
|
|
3
|
+
## 0.13.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- de215b1: Update Ankhorage dependencies: `@ankhorage/contracts`.
|
|
8
|
+
|
|
9
|
+
## 0.13.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 1146a74: Publish owner-owned Deploy authoring structure and canonical registry/set projections for store listing, monetization, and prepared releases.
|
|
14
|
+
|
|
3
15
|
## 0.12.10
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { fromDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue';
|
|
2
|
+
export { fromDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/fromDeployReleaseAuthoringValue';
|
|
3
|
+
export { toDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/toDeployMonetizationAuthoringValue';
|
|
4
|
+
export { toDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/toDeployReleaseAuthoringValue';
|
|
5
|
+
export { DEPLOY_AUTHORING_STRUCTURE } from './features/authoring/domain/deployAuthoringStructure';
|
|
6
|
+
export type { DeployMonetizationAuthoringValue, DeployReleaseAuthoringValue, } from './types/deployAuthoring';
|
|
7
|
+
//# sourceMappingURL=authoring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,iFAAiF,CAAC;AACvI,OAAO,EAAE,+BAA+B,EAAE,MAAM,4EAA4E,CAAC;AAC7H,OAAO,EAAE,kCAAkC,EAAE,MAAM,+EAA+E,CAAC;AACnI,OAAO,EAAE,6BAA6B,EAAE,MAAM,0EAA0E,CAAC;AACzH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAClG,YAAY,EACV,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { fromDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue';
|
|
2
|
+
export { fromDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/fromDeployReleaseAuthoringValue';
|
|
3
|
+
export { toDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/toDeployMonetizationAuthoringValue';
|
|
4
|
+
export { toDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/toDeployReleaseAuthoringValue';
|
|
5
|
+
export { DEPLOY_AUTHORING_STRUCTURE } from './features/authoring/domain/deployAuthoringStructure';
|
|
6
|
+
//# sourceMappingURL=authoring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,iFAAiF,CAAC;AACvI,OAAO,EAAE,+BAA+B,EAAE,MAAM,4EAA4E,CAAC;AAC7H,OAAO,EAAE,kCAAkC,EAAE,MAAM,+EAA+E,CAAC;AACnI,OAAO,EAAE,6BAA6B,EAAE,MAAM,0EAA0E,CAAC;AACzH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC","sourcesContent":["export { fromDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue';\nexport { fromDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/fromDeployReleaseAuthoringValue';\nexport { toDeployMonetizationAuthoringValue } from './features/authoring/application/use-cases/toDeployMonetizationAuthoringValue';\nexport { toDeployReleaseAuthoringValue } from './features/authoring/application/use-cases/toDeployReleaseAuthoringValue';\nexport { DEPLOY_AUTHORING_STRUCTURE } from './features/authoring/domain/deployAuthoringStructure';\nexport type {\n DeployMonetizationAuthoringValue,\n DeployReleaseAuthoringValue,\n} from './types/deployAuthoring';\n"]}
|
package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MonetizationProduct } from '../../../../domain/monetization/MonetizationProduct';
|
|
2
|
+
import type { DeployMonetizationAuthoringValue } from '../../../../types/deployAuthoring';
|
|
3
|
+
/*** Convert authored registries back through Deploy's canonical monetization parser and validation. */
|
|
4
|
+
export declare function fromDeployMonetizationAuthoringValue(value: DeployMonetizationAuthoringValue): readonly MonetizationProduct[];
|
|
5
|
+
//# sourceMappingURL=fromDeployMonetizationAuthoringValue.d.ts.map
|
package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromDeployMonetizationAuthoringValue.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAE/F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAG1F,uGAAuG;AACvG,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,gCAAgC,GACtC,SAAS,mBAAmB,EAAE,CAWhC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { parseProjectMonetization } from '../../../../project/monetization/parseProjectMonetization';
|
|
2
|
+
import { readDeployAuthoringRegistryValues } from '../../utils/readDeployAuthoringRegistryValues';
|
|
3
|
+
/*** Convert authored registries back through Deploy's canonical monetization parser and validation. */
|
|
4
|
+
export function fromDeployMonetizationAuthoringValue(value) {
|
|
5
|
+
const products = readDeployAuthoringRegistryValues(value.products, (product) => product.id).map((product) => ({
|
|
6
|
+
...product,
|
|
7
|
+
localizations: readDeployAuthoringRegistryValues(product.localizations, (localization) => localization.locale),
|
|
8
|
+
}));
|
|
9
|
+
return parseProjectMonetization({ products });
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=fromDeployMonetizationAuthoringValue.js.map
|
package/dist/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromDeployMonetizationAuthoringValue.js","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/fromDeployMonetizationAuthoringValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAErG,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAElG,uGAAuG;AACvG,MAAM,UAAU,oCAAoC,CAClD,KAAuC;IAEvC,MAAM,QAAQ,GAAG,iCAAiC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAC7F,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACZ,GAAG,OAAO;QACV,aAAa,EAAE,iCAAiC,CAC9C,OAAO,CAAC,aAAa,EACrB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CACtC;KACF,CAAC,CACH,CAAC;IACF,OAAO,wBAAwB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import type { MonetizationProduct } from '../../../../domain/monetization/MonetizationProduct';\nimport { parseProjectMonetization } from '../../../../project/monetization/parseProjectMonetization';\nimport type { DeployMonetizationAuthoringValue } from '../../../../types/deployAuthoring';\nimport { readDeployAuthoringRegistryValues } from '../../utils/readDeployAuthoringRegistryValues';\n\n/*** Convert authored registries back through Deploy's canonical monetization parser and validation. */\nexport function fromDeployMonetizationAuthoringValue(\n value: DeployMonetizationAuthoringValue,\n): readonly MonetizationProduct[] {\n const products = readDeployAuthoringRegistryValues(value.products, (product) => product.id).map(\n (product) => ({\n ...product,\n localizations: readDeployAuthoringRegistryValues(\n product.localizations,\n (localization) => localization.locale,\n ),\n }),\n );\n return parseProjectMonetization({ products });\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectReleaseInput } from '../../../../project/release/ProjectReleaseInput';
|
|
2
|
+
import type { DeployReleaseAuthoringValue } from '../../../../types/deployAuthoring';
|
|
3
|
+
/*** Convert authored set/registry values back through Deploy's canonical release parser and validation. */
|
|
4
|
+
export declare function fromDeployReleaseAuthoringValue(value: DeployReleaseAuthoringValue): ProjectReleaseInput;
|
|
5
|
+
//# sourceMappingURL=fromDeployReleaseAuthoringValue.d.ts.map
|
package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromDeployReleaseAuthoringValue.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAGrF,2GAA2G;AAC3G,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,2BAA2B,GACjC,mBAAmB,CASrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { parseProjectRelease } from '../../../../project/release/parseProjectRelease';
|
|
2
|
+
import { readDeployAuthoringRegistryValues } from '../../utils/readDeployAuthoringRegistryValues';
|
|
3
|
+
/*** Convert authored set/registry values back through Deploy's canonical release parser and validation. */
|
|
4
|
+
export function fromDeployReleaseAuthoringValue(value) {
|
|
5
|
+
const targets = Object.keys(value.targets);
|
|
6
|
+
const notes = readDeployAuthoringRegistryValues(value.notes, (note) => note.locale);
|
|
7
|
+
return parseProjectRelease({
|
|
8
|
+
version: value.version,
|
|
9
|
+
targets,
|
|
10
|
+
notes,
|
|
11
|
+
rollout: value.rollout,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fromDeployReleaseAuthoringValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromDeployReleaseAuthoringValue.js","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAElG,2GAA2G;AAC3G,MAAM,UAAU,+BAA+B,CAC7C,KAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,iCAAiC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpF,OAAO,mBAAmB,CAAC;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { parseProjectRelease } from '../../../../project/release/parseProjectRelease';\nimport type { ProjectReleaseInput } from '../../../../project/release/ProjectReleaseInput';\nimport type { DeployReleaseAuthoringValue } from '../../../../types/deployAuthoring';\nimport { readDeployAuthoringRegistryValues } from '../../utils/readDeployAuthoringRegistryValues';\n\n/*** Convert authored set/registry values back through Deploy's canonical release parser and validation. */\nexport function fromDeployReleaseAuthoringValue(\n value: DeployReleaseAuthoringValue,\n): ProjectReleaseInput {\n const targets = Object.keys(value.targets);\n const notes = readDeployAuthoringRegistryValues(value.notes, (note) => note.locale);\n return parseProjectRelease({\n version: value.version,\n targets,\n notes,\n rollout: value.rollout,\n });\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MonetizationProduct } from '../../../../domain/monetization/MonetizationProduct';
|
|
2
|
+
import type { DeployMonetizationAuthoringValue } from '../../../../types/deployAuthoring';
|
|
3
|
+
/*** Project canonical Deploy monetization products into stable product/localization registries for authoring. */
|
|
4
|
+
export declare function toDeployMonetizationAuthoringValue(products: readonly MonetizationProduct[]): DeployMonetizationAuthoringValue;
|
|
5
|
+
//# sourceMappingURL=toDeployMonetizationAuthoringValue.d.ts.map
|
package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toDeployMonetizationAuthoringValue.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,mCAAmC,CAAC;AAG3C,iHAAiH;AACjH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,gCAAgC,CAMlC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createDeployAuthoringRegistry } from '../../utils/createDeployAuthoringRegistry';
|
|
2
|
+
/*** Project canonical Deploy monetization products into stable product/localization registries for authoring. */
|
|
3
|
+
export function toDeployMonetizationAuthoringValue(products) {
|
|
4
|
+
return {
|
|
5
|
+
products: createDeployAuthoringRegistry(products.map((product) => [product.id, toAuthoringProduct(product)])),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
/*** Project one canonical product while making its kind-dependent subscription shape explicit. */
|
|
9
|
+
function toAuthoringProduct(product) {
|
|
10
|
+
const base = {
|
|
11
|
+
id: product.id,
|
|
12
|
+
basePrice: product.basePrice,
|
|
13
|
+
localizations: createDeployAuthoringRegistry(product.localizations.map((localization) => [localization.locale, localization])),
|
|
14
|
+
};
|
|
15
|
+
if (product.kind === 'subscription') {
|
|
16
|
+
if (product.subscription === undefined)
|
|
17
|
+
throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');
|
|
18
|
+
return { ...base, kind: 'subscription', subscription: product.subscription };
|
|
19
|
+
}
|
|
20
|
+
if (product.subscription !== undefined)
|
|
21
|
+
throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');
|
|
22
|
+
return { ...base, kind: product.kind };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=toDeployMonetizationAuthoringValue.js.map
|
package/dist/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toDeployMonetizationAuthoringValue.js","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/toDeployMonetizationAuthoringValue.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,iHAAiH;AACjH,MAAM,UAAU,kCAAkC,CAChD,QAAwC;IAExC,OAAO;QACL,QAAQ,EAAE,6BAA6B,CACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAU,CAAC,CAC9E;KACF,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,SAAS,kBAAkB,CAAC,OAA4B;IACtD,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,6BAA6B,CAC1C,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAU,CAAC,CAC1F;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1F,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC1F,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC","sourcesContent":["import type { MonetizationProduct } from '../../../../domain/monetization/MonetizationProduct';\nimport type {\n DeployMonetizationAuthoringValue,\n DeployMonetizationProductAuthoringValue,\n} from '../../../../types/deployAuthoring';\nimport { createDeployAuthoringRegistry } from '../../utils/createDeployAuthoringRegistry';\n\n/*** Project canonical Deploy monetization products into stable product/localization registries for authoring. */\nexport function toDeployMonetizationAuthoringValue(\n products: readonly MonetizationProduct[],\n): DeployMonetizationAuthoringValue {\n return {\n products: createDeployAuthoringRegistry(\n products.map((product) => [product.id, toAuthoringProduct(product)] as const),\n ),\n };\n}\n\n/*** Project one canonical product while making its kind-dependent subscription shape explicit. */\nfunction toAuthoringProduct(product: MonetizationProduct): DeployMonetizationProductAuthoringValue {\n const base = {\n id: product.id,\n basePrice: product.basePrice,\n localizations: createDeployAuthoringRegistry(\n product.localizations.map((localization) => [localization.locale, localization] as const),\n ),\n };\n\n if (product.kind === 'subscription') {\n if (product.subscription === undefined) throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');\n return { ...base, kind: 'subscription', subscription: product.subscription };\n }\n if (product.subscription !== undefined) throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');\n return { ...base, kind: product.kind };\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectReleaseInput } from '../../../../project/release/ProjectReleaseInput';
|
|
2
|
+
import type { DeployReleaseAuthoringValue } from '../../../../types/deployAuthoring';
|
|
3
|
+
/*** Project canonical release input into set membership and stable release-note identity for authoring. */
|
|
4
|
+
export declare function toDeployReleaseAuthoringValue(release: ProjectReleaseInput): DeployReleaseAuthoringValue;
|
|
5
|
+
//# sourceMappingURL=toDeployReleaseAuthoringValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toDeployReleaseAuthoringValue.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAEV,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAG3C,2GAA2G;AAC3G,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,mBAAmB,GAC3B,2BAA2B,CAU7B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { parseProjectRelease } from '../../../../project/release/parseProjectRelease';
|
|
2
|
+
import { createDeployAuthoringRegistry } from '../../utils/createDeployAuthoringRegistry';
|
|
3
|
+
/*** Project canonical release input into set membership and stable release-note identity for authoring. */
|
|
4
|
+
export function toDeployReleaseAuthoringValue(release) {
|
|
5
|
+
const canonical = parseProjectRelease(release);
|
|
6
|
+
return {
|
|
7
|
+
version: canonical.version,
|
|
8
|
+
targets: Object.fromEntries(canonical.targets.map((target) => [target, true])),
|
|
9
|
+
notes: createDeployAuthoringRegistry(canonical.notes.map((note) => [note.locale, note])),
|
|
10
|
+
rollout: toAuthoringRollout(canonical.rollout),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/*** Project parser-validated per-target rollout constraints into the narrower authoring contract. */
|
|
14
|
+
function toAuthoringRollout(rollout) {
|
|
15
|
+
const { android } = rollout;
|
|
16
|
+
const androidAuthoring = android?.mode === 'staged'
|
|
17
|
+
? stagedAndroidRollout(android.initialFraction)
|
|
18
|
+
: android === undefined
|
|
19
|
+
? undefined
|
|
20
|
+
: { mode: 'immediate' };
|
|
21
|
+
return {
|
|
22
|
+
...(rollout.web === undefined ? {} : { web: { mode: 'immediate' } }),
|
|
23
|
+
...(androidAuthoring === undefined ? {} : { android: androidAuthoring }),
|
|
24
|
+
...(rollout.ios === undefined ? {} : { ios: { mode: rollout.ios.mode } }),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/*** Require the initial fraction guaranteed by canonical parsing for staged Android rollout. */
|
|
28
|
+
function stagedAndroidRollout(initialFraction) {
|
|
29
|
+
if (initialFraction === undefined)
|
|
30
|
+
throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');
|
|
31
|
+
return { mode: 'staged', initialFraction };
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=toDeployReleaseAuthoringValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toDeployReleaseAuthoringValue.js","sourceRoot":"","sources":["../../../../../src/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAMtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,2GAA2G;AAC3G,MAAM,UAAU,6BAA6B,CAC3C,OAA4B;IAE5B,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAU,CAAC,CAAC;QACvF,KAAK,EAAE,6BAA6B,CAClC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAU,CAAC,CAC5D;QACD,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,gBAAgB,GACpB,OAAO,EAAE,IAAI,KAAK,QAAQ;QACxB,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;QAC/C,CAAC,CAAC,OAAO,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,CAAC;IAEvC,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,EAAE,CAAC;QAC7E,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACxE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,oBAAoB,CAC3B,eAAmC;IAEnC,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACrF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAC7C,CAAC","sourcesContent":["import type { ReleaseRollout } from '../../../../domain/release/ReleaseRollout';\nimport { parseProjectRelease } from '../../../../project/release/parseProjectRelease';\nimport type { ProjectReleaseInput } from '../../../../project/release/ProjectReleaseInput';\nimport type {\n DeployReleaseAuthoringRollout,\n DeployReleaseAuthoringValue,\n} from '../../../../types/deployAuthoring';\nimport { createDeployAuthoringRegistry } from '../../utils/createDeployAuthoringRegistry';\n\n/*** Project canonical release input into set membership and stable release-note identity for authoring. */\nexport function toDeployReleaseAuthoringValue(\n release: ProjectReleaseInput,\n): DeployReleaseAuthoringValue {\n const canonical = parseProjectRelease(release);\n return {\n version: canonical.version,\n targets: Object.fromEntries(canonical.targets.map((target) => [target, true] as const)),\n notes: createDeployAuthoringRegistry(\n canonical.notes.map((note) => [note.locale, note] as const),\n ),\n rollout: toAuthoringRollout(canonical.rollout),\n };\n}\n\n/*** Project parser-validated per-target rollout constraints into the narrower authoring contract. */\nfunction toAuthoringRollout(rollout: ReleaseRollout): DeployReleaseAuthoringRollout {\n const { android } = rollout;\n const androidAuthoring =\n android?.mode === 'staged'\n ? stagedAndroidRollout(android.initialFraction)\n : android === undefined\n ? undefined\n : { mode: 'immediate' as const };\n\n return {\n ...(rollout.web === undefined ? {} : { web: { mode: 'immediate' as const } }),\n ...(androidAuthoring === undefined ? {} : { android: androidAuthoring }),\n ...(rollout.ios === undefined ? {} : { ios: { mode: rollout.ios.mode } }),\n };\n}\n\n/*** Require the initial fraction guaranteed by canonical parsing for staged Android rollout. */\nfunction stagedAndroidRollout(\n initialFraction: string | undefined,\n): Extract<NonNullable<DeployReleaseAuthoringRollout['android']>, { readonly mode: 'staged' }> {\n if (initialFraction === undefined) throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');\n return { mode: 'staged', initialFraction };\n}\n"]}
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import type { StructureObjectDescriptor } from '@ankhorage/contracts/structure';
|
|
2
|
+
/*** Publish the owner-owned structural semantics for Deploy desired-state authoring. */
|
|
3
|
+
export declare const DEPLOY_AUTHORING_STRUCTURE: {
|
|
4
|
+
readonly protocolVersion: 1;
|
|
5
|
+
readonly packageName: string;
|
|
6
|
+
readonly packageVersion: string;
|
|
7
|
+
readonly roots: {
|
|
8
|
+
readonly monetization: "DeployMonetizationAuthoringValue";
|
|
9
|
+
readonly 'prepared-release': "DeployReleaseAuthoringValue";
|
|
10
|
+
readonly 'store-listing-asset-location': "ProjectStoreListingAssetLocation";
|
|
11
|
+
readonly 'store-listing-locale': "StoreListingLocale";
|
|
12
|
+
};
|
|
13
|
+
readonly descriptors: {
|
|
14
|
+
readonly DeployMonetizationAuthoringValue: {
|
|
15
|
+
readonly id: "DeployMonetizationAuthoringValue";
|
|
16
|
+
readonly descriptor: {
|
|
17
|
+
readonly kind: "object";
|
|
18
|
+
readonly fields: {
|
|
19
|
+
readonly products: {
|
|
20
|
+
readonly value: {
|
|
21
|
+
readonly kind: "entity-registry";
|
|
22
|
+
readonly key: {
|
|
23
|
+
readonly kind: "scalar";
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
};
|
|
26
|
+
readonly value: {
|
|
27
|
+
readonly kind: "ref";
|
|
28
|
+
readonly id: "DeployMonetizationProductAuthoringValue";
|
|
29
|
+
};
|
|
30
|
+
readonly identityField: "id";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
readonly DeployMonetizationProductAuthoringValue: {
|
|
37
|
+
readonly id: "DeployMonetizationProductAuthoringValue";
|
|
38
|
+
readonly descriptor: {
|
|
39
|
+
readonly kind: "union";
|
|
40
|
+
readonly discriminator: "kind";
|
|
41
|
+
readonly variants: readonly [StructureObjectDescriptor, StructureObjectDescriptor, StructureObjectDescriptor];
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
readonly MonetizationLocalization: {
|
|
45
|
+
readonly id: "MonetizationLocalization";
|
|
46
|
+
readonly descriptor: {
|
|
47
|
+
readonly kind: "object";
|
|
48
|
+
readonly fields: {
|
|
49
|
+
readonly description: {
|
|
50
|
+
readonly value: {
|
|
51
|
+
readonly kind: "scalar";
|
|
52
|
+
readonly type: "string";
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
readonly locale: {
|
|
56
|
+
readonly value: {
|
|
57
|
+
readonly kind: "scalar";
|
|
58
|
+
readonly type: "string";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
readonly name: {
|
|
62
|
+
readonly value: {
|
|
63
|
+
readonly kind: "scalar";
|
|
64
|
+
readonly type: "string";
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
readonly MonetizationBasePrice: {
|
|
71
|
+
readonly id: "MonetizationBasePrice";
|
|
72
|
+
readonly descriptor: {
|
|
73
|
+
readonly kind: "object";
|
|
74
|
+
readonly fields: {
|
|
75
|
+
readonly amount: {
|
|
76
|
+
readonly value: {
|
|
77
|
+
readonly kind: "scalar";
|
|
78
|
+
readonly type: "string";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
readonly country: {
|
|
82
|
+
readonly value: {
|
|
83
|
+
readonly kind: "scalar";
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
readonly currency: {
|
|
88
|
+
readonly value: {
|
|
89
|
+
readonly kind: "scalar";
|
|
90
|
+
readonly type: "string";
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
readonly MonetizationSubscription: {
|
|
97
|
+
readonly id: "MonetizationSubscription";
|
|
98
|
+
readonly descriptor: {
|
|
99
|
+
readonly kind: "object";
|
|
100
|
+
readonly fields: {
|
|
101
|
+
readonly family: {
|
|
102
|
+
readonly value: {
|
|
103
|
+
readonly kind: "scalar";
|
|
104
|
+
readonly type: "string";
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
readonly level: {
|
|
108
|
+
readonly value: {
|
|
109
|
+
readonly kind: "scalar";
|
|
110
|
+
readonly type: "integer";
|
|
111
|
+
};
|
|
112
|
+
readonly optional: true;
|
|
113
|
+
};
|
|
114
|
+
readonly period: {
|
|
115
|
+
readonly value: {
|
|
116
|
+
readonly kind: "enum";
|
|
117
|
+
readonly values: readonly ["P1M", "P1W", "P1Y", "P2M", "P3M", "P6M"];
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
readonly DeployReleaseAuthoringValue: {
|
|
124
|
+
readonly id: "DeployReleaseAuthoringValue";
|
|
125
|
+
readonly descriptor: {
|
|
126
|
+
readonly kind: "object";
|
|
127
|
+
readonly fields: {
|
|
128
|
+
readonly notes: {
|
|
129
|
+
readonly value: {
|
|
130
|
+
readonly kind: "entity-registry";
|
|
131
|
+
readonly key: {
|
|
132
|
+
readonly kind: "scalar";
|
|
133
|
+
readonly type: "string";
|
|
134
|
+
};
|
|
135
|
+
readonly value: {
|
|
136
|
+
readonly kind: "ref";
|
|
137
|
+
readonly id: "ReleaseNote";
|
|
138
|
+
};
|
|
139
|
+
readonly identityField: "locale";
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
readonly rollout: {
|
|
143
|
+
readonly value: {
|
|
144
|
+
readonly kind: "ref";
|
|
145
|
+
readonly id: "DeployReleaseAuthoringRollout";
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
readonly targets: {
|
|
149
|
+
readonly value: {
|
|
150
|
+
readonly kind: "set";
|
|
151
|
+
readonly member: {
|
|
152
|
+
readonly kind: "enum";
|
|
153
|
+
readonly values: readonly ["android", "ios", "web"];
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
readonly version: {
|
|
158
|
+
readonly value: {
|
|
159
|
+
readonly kind: "scalar";
|
|
160
|
+
readonly type: "string";
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly ReleaseNote: {
|
|
167
|
+
readonly id: "ReleaseNote";
|
|
168
|
+
readonly descriptor: {
|
|
169
|
+
readonly kind: "object";
|
|
170
|
+
readonly fields: {
|
|
171
|
+
readonly locale: {
|
|
172
|
+
readonly value: {
|
|
173
|
+
readonly kind: "scalar";
|
|
174
|
+
readonly type: "string";
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
readonly text: {
|
|
178
|
+
readonly value: {
|
|
179
|
+
readonly kind: "scalar";
|
|
180
|
+
readonly type: "string";
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
readonly DeployReleaseAuthoringRollout: {
|
|
187
|
+
readonly id: "DeployReleaseAuthoringRollout";
|
|
188
|
+
readonly descriptor: {
|
|
189
|
+
readonly kind: "object";
|
|
190
|
+
readonly fields: {
|
|
191
|
+
readonly android: {
|
|
192
|
+
readonly optional: true;
|
|
193
|
+
readonly value: {
|
|
194
|
+
readonly kind: "union";
|
|
195
|
+
readonly discriminator: "mode";
|
|
196
|
+
readonly variants: readonly [{
|
|
197
|
+
readonly kind: "object";
|
|
198
|
+
readonly fields: {
|
|
199
|
+
readonly mode: {
|
|
200
|
+
readonly value: {
|
|
201
|
+
readonly kind: "enum";
|
|
202
|
+
readonly values: readonly ["immediate"];
|
|
203
|
+
};
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
}, {
|
|
207
|
+
readonly kind: "object";
|
|
208
|
+
readonly fields: {
|
|
209
|
+
readonly initialFraction: {
|
|
210
|
+
readonly value: {
|
|
211
|
+
readonly kind: "scalar";
|
|
212
|
+
readonly type: "string";
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
readonly mode: {
|
|
216
|
+
readonly value: {
|
|
217
|
+
readonly kind: "enum";
|
|
218
|
+
readonly values: readonly ["staged"];
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
}];
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
readonly ios: {
|
|
226
|
+
readonly optional: true;
|
|
227
|
+
readonly value: {
|
|
228
|
+
readonly kind: "object";
|
|
229
|
+
readonly fields: {
|
|
230
|
+
readonly mode: {
|
|
231
|
+
readonly value: {
|
|
232
|
+
readonly kind: "enum";
|
|
233
|
+
readonly values: readonly ["immediate", "staged"];
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
readonly web: {
|
|
240
|
+
readonly optional: true;
|
|
241
|
+
readonly value: {
|
|
242
|
+
readonly kind: "object";
|
|
243
|
+
readonly fields: {
|
|
244
|
+
readonly mode: {
|
|
245
|
+
readonly value: {
|
|
246
|
+
readonly kind: "enum";
|
|
247
|
+
readonly values: readonly ["immediate"];
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
readonly ProjectStoreListingAssetLocation: {
|
|
257
|
+
readonly id: "ProjectStoreListingAssetLocation";
|
|
258
|
+
readonly descriptor: {
|
|
259
|
+
readonly kind: "union";
|
|
260
|
+
readonly discriminator: "kind";
|
|
261
|
+
readonly variants: readonly [{
|
|
262
|
+
readonly kind: "object";
|
|
263
|
+
readonly fields: {
|
|
264
|
+
readonly kind: {
|
|
265
|
+
readonly value: {
|
|
266
|
+
readonly kind: "enum";
|
|
267
|
+
readonly values: readonly ["android-shared"];
|
|
268
|
+
};
|
|
269
|
+
};
|
|
270
|
+
readonly variant: {
|
|
271
|
+
readonly value: {
|
|
272
|
+
readonly kind: "enum";
|
|
273
|
+
readonly values: readonly ["feature", "icon"];
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
}, {
|
|
278
|
+
readonly kind: "object";
|
|
279
|
+
readonly fields: {
|
|
280
|
+
readonly filename: {
|
|
281
|
+
readonly value: {
|
|
282
|
+
readonly kind: "scalar";
|
|
283
|
+
readonly type: "string";
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
readonly kind: {
|
|
287
|
+
readonly value: {
|
|
288
|
+
readonly kind: "enum";
|
|
289
|
+
readonly values: readonly ["screenshot"];
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
readonly locale: {
|
|
293
|
+
readonly value: {
|
|
294
|
+
readonly kind: "scalar";
|
|
295
|
+
readonly type: "string";
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
readonly target: {
|
|
299
|
+
readonly value: {
|
|
300
|
+
readonly kind: "enum";
|
|
301
|
+
readonly values: readonly ["android", "ios"];
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
readonly variant: {
|
|
305
|
+
readonly value: {
|
|
306
|
+
readonly kind: "scalar";
|
|
307
|
+
readonly type: "string";
|
|
308
|
+
};
|
|
309
|
+
};
|
|
310
|
+
};
|
|
311
|
+
}];
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
readonly StoreListingLocale: {
|
|
315
|
+
readonly id: "StoreListingLocale";
|
|
316
|
+
readonly descriptor: {
|
|
317
|
+
readonly kind: "object";
|
|
318
|
+
readonly fields: {
|
|
319
|
+
readonly description: {
|
|
320
|
+
readonly value: {
|
|
321
|
+
readonly kind: "scalar";
|
|
322
|
+
readonly type: "string";
|
|
323
|
+
};
|
|
324
|
+
readonly optional: true;
|
|
325
|
+
};
|
|
326
|
+
readonly keywords: {
|
|
327
|
+
readonly value: {
|
|
328
|
+
readonly kind: "ordered-list";
|
|
329
|
+
readonly item: {
|
|
330
|
+
readonly kind: "scalar";
|
|
331
|
+
readonly type: "string";
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
readonly optional: true;
|
|
335
|
+
};
|
|
336
|
+
readonly locale: {
|
|
337
|
+
readonly value: {
|
|
338
|
+
readonly kind: "scalar";
|
|
339
|
+
readonly type: "string";
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
readonly marketingUrl: {
|
|
343
|
+
readonly value: {
|
|
344
|
+
readonly kind: "scalar";
|
|
345
|
+
readonly type: "string";
|
|
346
|
+
};
|
|
347
|
+
readonly optional: true;
|
|
348
|
+
};
|
|
349
|
+
readonly name: {
|
|
350
|
+
readonly value: {
|
|
351
|
+
readonly kind: "scalar";
|
|
352
|
+
readonly type: "string";
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
readonly privacyPolicyUrl: {
|
|
356
|
+
readonly value: {
|
|
357
|
+
readonly kind: "scalar";
|
|
358
|
+
readonly type: "string";
|
|
359
|
+
};
|
|
360
|
+
readonly optional: true;
|
|
361
|
+
};
|
|
362
|
+
readonly promoVideoUrl: {
|
|
363
|
+
readonly value: {
|
|
364
|
+
readonly kind: "scalar";
|
|
365
|
+
readonly type: "string";
|
|
366
|
+
};
|
|
367
|
+
readonly optional: true;
|
|
368
|
+
};
|
|
369
|
+
readonly promotionalText: {
|
|
370
|
+
readonly value: {
|
|
371
|
+
readonly kind: "scalar";
|
|
372
|
+
readonly type: "string";
|
|
373
|
+
};
|
|
374
|
+
readonly optional: true;
|
|
375
|
+
};
|
|
376
|
+
readonly summary: {
|
|
377
|
+
readonly value: {
|
|
378
|
+
readonly kind: "scalar";
|
|
379
|
+
readonly type: "string";
|
|
380
|
+
};
|
|
381
|
+
readonly optional: true;
|
|
382
|
+
};
|
|
383
|
+
readonly supportUrl: {
|
|
384
|
+
readonly value: {
|
|
385
|
+
readonly kind: "scalar";
|
|
386
|
+
readonly type: "string";
|
|
387
|
+
};
|
|
388
|
+
readonly optional: true;
|
|
389
|
+
};
|
|
390
|
+
};
|
|
391
|
+
};
|
|
392
|
+
};
|
|
393
|
+
};
|
|
394
|
+
};
|
|
395
|
+
//# sourceMappingURL=deployAuthoringStructure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployAuthoringStructure.d.ts","sourceRoot":"","sources":["../../../../src/features/authoring/domain/deployAuthoringStructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAMxC,wFAAwF;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+MS,CAAC"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import packageJson from '../../../../package.json';
|
|
2
|
+
const STRING = { kind: 'scalar', type: 'string' };
|
|
3
|
+
/*** Publish the owner-owned structural semantics for Deploy desired-state authoring. */
|
|
4
|
+
export const DEPLOY_AUTHORING_STRUCTURE = {
|
|
5
|
+
protocolVersion: 1,
|
|
6
|
+
packageName: packageJson.name,
|
|
7
|
+
packageVersion: packageJson.version,
|
|
8
|
+
roots: {
|
|
9
|
+
monetization: 'DeployMonetizationAuthoringValue',
|
|
10
|
+
'prepared-release': 'DeployReleaseAuthoringValue',
|
|
11
|
+
'store-listing-asset-location': 'ProjectStoreListingAssetLocation',
|
|
12
|
+
'store-listing-locale': 'StoreListingLocale',
|
|
13
|
+
},
|
|
14
|
+
descriptors: {
|
|
15
|
+
DeployMonetizationAuthoringValue: {
|
|
16
|
+
id: 'DeployMonetizationAuthoringValue',
|
|
17
|
+
descriptor: {
|
|
18
|
+
kind: 'object',
|
|
19
|
+
fields: {
|
|
20
|
+
products: {
|
|
21
|
+
value: {
|
|
22
|
+
kind: 'entity-registry',
|
|
23
|
+
key: STRING,
|
|
24
|
+
value: { kind: 'ref', id: 'DeployMonetizationProductAuthoringValue' },
|
|
25
|
+
identityField: 'id',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
DeployMonetizationProductAuthoringValue: {
|
|
32
|
+
id: 'DeployMonetizationProductAuthoringValue',
|
|
33
|
+
descriptor: {
|
|
34
|
+
kind: 'union',
|
|
35
|
+
discriminator: 'kind',
|
|
36
|
+
variants: [
|
|
37
|
+
productVariant('consumable'),
|
|
38
|
+
productVariant('non-consumable'),
|
|
39
|
+
productVariant('subscription', true),
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
MonetizationLocalization: {
|
|
44
|
+
id: 'MonetizationLocalization',
|
|
45
|
+
descriptor: {
|
|
46
|
+
kind: 'object',
|
|
47
|
+
fields: {
|
|
48
|
+
description: { value: STRING },
|
|
49
|
+
locale: { value: STRING },
|
|
50
|
+
name: { value: STRING },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
MonetizationBasePrice: {
|
|
55
|
+
id: 'MonetizationBasePrice',
|
|
56
|
+
descriptor: {
|
|
57
|
+
kind: 'object',
|
|
58
|
+
fields: {
|
|
59
|
+
amount: { value: STRING },
|
|
60
|
+
country: { value: STRING },
|
|
61
|
+
currency: { value: STRING },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
MonetizationSubscription: {
|
|
66
|
+
id: 'MonetizationSubscription',
|
|
67
|
+
descriptor: {
|
|
68
|
+
kind: 'object',
|
|
69
|
+
fields: {
|
|
70
|
+
family: { value: STRING },
|
|
71
|
+
level: { value: { kind: 'scalar', type: 'integer' }, optional: true },
|
|
72
|
+
period: {
|
|
73
|
+
value: {
|
|
74
|
+
kind: 'enum',
|
|
75
|
+
values: ['P1M', 'P1W', 'P1Y', 'P2M', 'P3M', 'P6M'],
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
DeployReleaseAuthoringValue: {
|
|
82
|
+
id: 'DeployReleaseAuthoringValue',
|
|
83
|
+
descriptor: {
|
|
84
|
+
kind: 'object',
|
|
85
|
+
fields: {
|
|
86
|
+
notes: {
|
|
87
|
+
value: {
|
|
88
|
+
kind: 'entity-registry',
|
|
89
|
+
key: STRING,
|
|
90
|
+
value: { kind: 'ref', id: 'ReleaseNote' },
|
|
91
|
+
identityField: 'locale',
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
rollout: { value: { kind: 'ref', id: 'DeployReleaseAuthoringRollout' } },
|
|
95
|
+
targets: {
|
|
96
|
+
value: {
|
|
97
|
+
kind: 'set',
|
|
98
|
+
member: { kind: 'enum', values: ['android', 'ios', 'web'] },
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
version: { value: STRING },
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
ReleaseNote: {
|
|
106
|
+
id: 'ReleaseNote',
|
|
107
|
+
descriptor: {
|
|
108
|
+
kind: 'object',
|
|
109
|
+
fields: {
|
|
110
|
+
locale: { value: STRING },
|
|
111
|
+
text: { value: STRING },
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
DeployReleaseAuthoringRollout: {
|
|
116
|
+
id: 'DeployReleaseAuthoringRollout',
|
|
117
|
+
descriptor: {
|
|
118
|
+
kind: 'object',
|
|
119
|
+
fields: {
|
|
120
|
+
android: {
|
|
121
|
+
optional: true,
|
|
122
|
+
value: {
|
|
123
|
+
kind: 'union',
|
|
124
|
+
discriminator: 'mode',
|
|
125
|
+
variants: [
|
|
126
|
+
{
|
|
127
|
+
kind: 'object',
|
|
128
|
+
fields: {
|
|
129
|
+
mode: { value: { kind: 'enum', values: ['immediate'] } },
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
kind: 'object',
|
|
134
|
+
fields: {
|
|
135
|
+
initialFraction: { value: STRING },
|
|
136
|
+
mode: { value: { kind: 'enum', values: ['staged'] } },
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
ios: {
|
|
143
|
+
optional: true,
|
|
144
|
+
value: {
|
|
145
|
+
kind: 'object',
|
|
146
|
+
fields: {
|
|
147
|
+
mode: { value: { kind: 'enum', values: ['immediate', 'staged'] } },
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
web: {
|
|
152
|
+
optional: true,
|
|
153
|
+
value: {
|
|
154
|
+
kind: 'object',
|
|
155
|
+
fields: {
|
|
156
|
+
mode: { value: { kind: 'enum', values: ['immediate'] } },
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
ProjectStoreListingAssetLocation: {
|
|
164
|
+
id: 'ProjectStoreListingAssetLocation',
|
|
165
|
+
descriptor: {
|
|
166
|
+
kind: 'union',
|
|
167
|
+
discriminator: 'kind',
|
|
168
|
+
variants: [
|
|
169
|
+
{
|
|
170
|
+
kind: 'object',
|
|
171
|
+
fields: {
|
|
172
|
+
kind: { value: { kind: 'enum', values: ['android-shared'] } },
|
|
173
|
+
variant: { value: { kind: 'enum', values: ['feature', 'icon'] } },
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
kind: 'object',
|
|
178
|
+
fields: {
|
|
179
|
+
filename: { value: STRING },
|
|
180
|
+
kind: { value: { kind: 'enum', values: ['screenshot'] } },
|
|
181
|
+
locale: { value: STRING },
|
|
182
|
+
target: { value: { kind: 'enum', values: ['android', 'ios'] } },
|
|
183
|
+
variant: { value: STRING },
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
StoreListingLocale: {
|
|
190
|
+
id: 'StoreListingLocale',
|
|
191
|
+
descriptor: {
|
|
192
|
+
kind: 'object',
|
|
193
|
+
fields: {
|
|
194
|
+
description: { value: STRING, optional: true },
|
|
195
|
+
keywords: {
|
|
196
|
+
value: { kind: 'ordered-list', item: STRING },
|
|
197
|
+
optional: true,
|
|
198
|
+
},
|
|
199
|
+
locale: { value: STRING },
|
|
200
|
+
marketingUrl: { value: STRING, optional: true },
|
|
201
|
+
name: { value: STRING },
|
|
202
|
+
privacyPolicyUrl: { value: STRING, optional: true },
|
|
203
|
+
promoVideoUrl: { value: STRING, optional: true },
|
|
204
|
+
promotionalText: { value: STRING, optional: true },
|
|
205
|
+
summary: { value: STRING, optional: true },
|
|
206
|
+
supportUrl: { value: STRING, optional: true },
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
/*** Build one product union variant while retaining stable product and localization identity semantics. */
|
|
213
|
+
function productVariant(kind, subscription = false) {
|
|
214
|
+
return {
|
|
215
|
+
kind: 'object',
|
|
216
|
+
fields: {
|
|
217
|
+
basePrice: { value: { kind: 'ref', id: 'MonetizationBasePrice' } },
|
|
218
|
+
id: { value: STRING },
|
|
219
|
+
kind: { value: { kind: 'enum', values: [kind] } },
|
|
220
|
+
localizations: {
|
|
221
|
+
value: {
|
|
222
|
+
kind: 'entity-registry',
|
|
223
|
+
key: STRING,
|
|
224
|
+
value: { kind: 'ref', id: 'MonetizationLocalization' },
|
|
225
|
+
identityField: 'locale',
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
...(subscription
|
|
229
|
+
? {
|
|
230
|
+
subscription: {
|
|
231
|
+
value: { kind: 'ref', id: 'MonetizationSubscription' },
|
|
232
|
+
},
|
|
233
|
+
}
|
|
234
|
+
: {}),
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=deployAuthoringStructure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployAuthoringStructure.js","sourceRoot":"","sources":["../../../../src/features/authoring/domain/deployAuthoringStructure.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n StructureDescriptorDocument,\n StructureObjectDescriptor,\n} from '@ankhorage/contracts/structure';\n\nimport packageJson from '../../../../package.json';\n\nconst STRING = { kind: 'scalar', type: 'string' } as const;\n\n/*** Publish the owner-owned structural semantics for Deploy desired-state authoring. */\nexport const DEPLOY_AUTHORING_STRUCTURE = {\n protocolVersion: 1,\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n roots: {\n monetization: 'DeployMonetizationAuthoringValue',\n 'prepared-release': 'DeployReleaseAuthoringValue',\n 'store-listing-asset-location': 'ProjectStoreListingAssetLocation',\n 'store-listing-locale': 'StoreListingLocale',\n },\n descriptors: {\n DeployMonetizationAuthoringValue: {\n id: 'DeployMonetizationAuthoringValue',\n descriptor: {\n kind: 'object',\n fields: {\n products: {\n value: {\n kind: 'entity-registry',\n key: STRING,\n value: { kind: 'ref', id: 'DeployMonetizationProductAuthoringValue' },\n identityField: 'id',\n },\n },\n },\n },\n },\n DeployMonetizationProductAuthoringValue: {\n id: 'DeployMonetizationProductAuthoringValue',\n descriptor: {\n kind: 'union',\n discriminator: 'kind',\n variants: [\n productVariant('consumable'),\n productVariant('non-consumable'),\n productVariant('subscription', true),\n ],\n },\n },\n MonetizationLocalization: {\n id: 'MonetizationLocalization',\n descriptor: {\n kind: 'object',\n fields: {\n description: { value: STRING },\n locale: { value: STRING },\n name: { value: STRING },\n },\n },\n },\n MonetizationBasePrice: {\n id: 'MonetizationBasePrice',\n descriptor: {\n kind: 'object',\n fields: {\n amount: { value: STRING },\n country: { value: STRING },\n currency: { value: STRING },\n },\n },\n },\n MonetizationSubscription: {\n id: 'MonetizationSubscription',\n descriptor: {\n kind: 'object',\n fields: {\n family: { value: STRING },\n level: { value: { kind: 'scalar', type: 'integer' }, optional: true },\n period: {\n value: {\n kind: 'enum',\n values: ['P1M', 'P1W', 'P1Y', 'P2M', 'P3M', 'P6M'],\n },\n },\n },\n },\n },\n DeployReleaseAuthoringValue: {\n id: 'DeployReleaseAuthoringValue',\n descriptor: {\n kind: 'object',\n fields: {\n notes: {\n value: {\n kind: 'entity-registry',\n key: STRING,\n value: { kind: 'ref', id: 'ReleaseNote' },\n identityField: 'locale',\n },\n },\n rollout: { value: { kind: 'ref', id: 'DeployReleaseAuthoringRollout' } },\n targets: {\n value: {\n kind: 'set',\n member: { kind: 'enum', values: ['android', 'ios', 'web'] },\n },\n },\n version: { value: STRING },\n },\n },\n },\n ReleaseNote: {\n id: 'ReleaseNote',\n descriptor: {\n kind: 'object',\n fields: {\n locale: { value: STRING },\n text: { value: STRING },\n },\n },\n },\n DeployReleaseAuthoringRollout: {\n id: 'DeployReleaseAuthoringRollout',\n descriptor: {\n kind: 'object',\n fields: {\n android: {\n optional: true,\n value: {\n kind: 'union',\n discriminator: 'mode',\n variants: [\n {\n kind: 'object',\n fields: {\n mode: { value: { kind: 'enum', values: ['immediate'] } },\n },\n },\n {\n kind: 'object',\n fields: {\n initialFraction: { value: STRING },\n mode: { value: { kind: 'enum', values: ['staged'] } },\n },\n },\n ],\n },\n },\n ios: {\n optional: true,\n value: {\n kind: 'object',\n fields: {\n mode: { value: { kind: 'enum', values: ['immediate', 'staged'] } },\n },\n },\n },\n web: {\n optional: true,\n value: {\n kind: 'object',\n fields: {\n mode: { value: { kind: 'enum', values: ['immediate'] } },\n },\n },\n },\n },\n },\n },\n ProjectStoreListingAssetLocation: {\n id: 'ProjectStoreListingAssetLocation',\n descriptor: {\n kind: 'union',\n discriminator: 'kind',\n variants: [\n {\n kind: 'object',\n fields: {\n kind: { value: { kind: 'enum', values: ['android-shared'] } },\n variant: { value: { kind: 'enum', values: ['feature', 'icon'] } },\n },\n },\n {\n kind: 'object',\n fields: {\n filename: { value: STRING },\n kind: { value: { kind: 'enum', values: ['screenshot'] } },\n locale: { value: STRING },\n target: { value: { kind: 'enum', values: ['android', 'ios'] } },\n variant: { value: STRING },\n },\n },\n ],\n },\n },\n StoreListingLocale: {\n id: 'StoreListingLocale',\n descriptor: {\n kind: 'object',\n fields: {\n description: { value: STRING, optional: true },\n keywords: {\n value: { kind: 'ordered-list', item: STRING },\n optional: true,\n },\n locale: { value: STRING },\n marketingUrl: { value: STRING, optional: true },\n name: { value: STRING },\n privacyPolicyUrl: { value: STRING, optional: true },\n promoVideoUrl: { value: STRING, optional: true },\n promotionalText: { value: STRING, optional: true },\n summary: { value: STRING, optional: true },\n supportUrl: { value: STRING, optional: true },\n },\n },\n },\n },\n} as const satisfies StructureDescriptorDocument;\n\n/*** Build one product union variant while retaining stable product and localization identity semantics. */\nfunction productVariant(\n kind: 'consumable' | 'non-consumable' | 'subscription',\n subscription = false,\n): StructureObjectDescriptor {\n return {\n kind: 'object' as const,\n fields: {\n basePrice: { value: { kind: 'ref' as const, id: 'MonetizationBasePrice' } },\n id: { value: STRING },\n kind: { value: { kind: 'enum' as const, values: [kind] } },\n localizations: {\n value: {\n kind: 'entity-registry' as const,\n key: STRING,\n value: { kind: 'ref' as const, id: 'MonetizationLocalization' },\n identityField: 'locale',\n },\n },\n ...(subscription\n ? {\n subscription: {\n value: { kind: 'ref' as const, id: 'MonetizationSubscription' },\n },\n }\n : {}),\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*** Build one immutable authoring registry and reject duplicate owner identities. */
|
|
2
|
+
export declare function createDeployAuthoringRegistry<T>(entries: readonly (readonly [string, T])[]): Readonly<Record<string, T>>;
|
|
3
|
+
//# sourceMappingURL=createDeployAuthoringRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDeployAuthoringRegistry.d.ts","sourceRoot":"","sources":["../../../../src/features/authoring/utils/createDeployAuthoringRegistry.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAI7B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*** Build one immutable authoring registry and reject duplicate owner identities. */
|
|
2
|
+
export function createDeployAuthoringRegistry(entries) {
|
|
3
|
+
const keys = entries.map(([key]) => key);
|
|
4
|
+
if (new Set(keys).size !== keys.length)
|
|
5
|
+
throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');
|
|
6
|
+
return Object.fromEntries(entries);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=createDeployAuthoringRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDeployAuthoringRegistry.js","sourceRoot":"","sources":["../../../../src/features/authoring/utils/createDeployAuthoringRegistry.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,6BAA6B,CAC3C,OAA0C;IAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC","sourcesContent":["/*** Build one immutable authoring registry and reject duplicate owner identities. */\nexport function createDeployAuthoringRegistry<T>(\n entries: readonly (readonly [string, T])[],\n): Readonly<Record<string, T>> {\n const keys = entries.map(([key]) => key);\n if (new Set(keys).size !== keys.length) throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');\n return Object.fromEntries(entries);\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*** Read stable authoring-registry values while requiring every record key to match owner identity. */
|
|
2
|
+
export declare function readDeployAuthoringRegistryValues<T>(registry: Readonly<Record<string, T>>, identityOf: (value: T) => string): readonly T[];
|
|
3
|
+
//# sourceMappingURL=readDeployAuthoringRegistryValues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readDeployAuthoringRegistryValues.d.ts","sourceRoot":"","sources":["../../../../src/features/authoring/utils/readDeployAuthoringRegistryValues.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC/B,SAAS,CAAC,EAAE,CAMd"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*** Read stable authoring-registry values while requiring every record key to match owner identity. */
|
|
2
|
+
export function readDeployAuthoringRegistryValues(registry, identityOf) {
|
|
3
|
+
const entries = Object.entries(registry);
|
|
4
|
+
if (entries.some(([key, value]) => identityOf(value) !== key)) {
|
|
5
|
+
throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');
|
|
6
|
+
}
|
|
7
|
+
return entries.map(([, value]) => value);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=readDeployAuthoringRegistryValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readDeployAuthoringRegistryValues.js","sourceRoot":"","sources":["../../../../src/features/authoring/utils/readDeployAuthoringRegistryValues.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,MAAM,UAAU,iCAAiC,CAC/C,QAAqC,EACrC,UAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAsC,CAAC;IAC9E,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC","sourcesContent":["/*** Read stable authoring-registry values while requiring every record key to match owner identity. */\nexport function readDeployAuthoringRegistryValues<T>(\n registry: Readonly<Record<string, T>>,\n identityOf: (value: T) => string,\n): readonly T[] {\n const entries = Object.entries(registry) as readonly (readonly [string, T])[];\n if (entries.some(([key, value]) => identityOf(value) !== key)) {\n throw new Error('DEPLOY_AUTHORING_VALUE_INVALID');\n }\n return entries.map(([, value]) => value);\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { EntityRegistry, SerializableSet } from '@ankhorage/contracts/structure';
|
|
2
|
+
import type { MonetizationBasePrice } from '../domain/monetization/MonetizationBasePrice';
|
|
3
|
+
import type { MonetizationLocalization } from '../domain/monetization/MonetizationLocalization';
|
|
4
|
+
import type { MonetizationSubscription } from '../domain/monetization/MonetizationSubscription';
|
|
5
|
+
import type { ReleaseNote } from '../domain/release/ReleaseNote';
|
|
6
|
+
import type { ReleaseTarget } from '../domain/release/ReleaseTarget';
|
|
7
|
+
export interface DeployMonetizationAuthoringValue {
|
|
8
|
+
readonly products: EntityRegistry<string, DeployMonetizationProductAuthoringValue, 'id'>;
|
|
9
|
+
}
|
|
10
|
+
interface DeployMonetizationProductAuthoringBase {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly localizations: EntityRegistry<string, MonetizationLocalization, 'locale'>;
|
|
13
|
+
readonly basePrice: MonetizationBasePrice;
|
|
14
|
+
}
|
|
15
|
+
export type DeployMonetizationProductAuthoringValue = (DeployMonetizationProductAuthoringBase & {
|
|
16
|
+
readonly kind: 'consumable';
|
|
17
|
+
readonly subscription?: never;
|
|
18
|
+
}) | (DeployMonetizationProductAuthoringBase & {
|
|
19
|
+
readonly kind: 'non-consumable';
|
|
20
|
+
readonly subscription?: never;
|
|
21
|
+
}) | (DeployMonetizationProductAuthoringBase & {
|
|
22
|
+
readonly kind: 'subscription';
|
|
23
|
+
readonly subscription: MonetizationSubscription;
|
|
24
|
+
});
|
|
25
|
+
export interface DeployReleaseAuthoringValue {
|
|
26
|
+
readonly version: string;
|
|
27
|
+
readonly targets: SerializableSet<ReleaseTarget>;
|
|
28
|
+
readonly notes: EntityRegistry<string, ReleaseNote, 'locale'>;
|
|
29
|
+
readonly rollout: DeployReleaseAuthoringRollout;
|
|
30
|
+
}
|
|
31
|
+
export interface DeployReleaseAuthoringRollout {
|
|
32
|
+
readonly web?: {
|
|
33
|
+
readonly mode: 'immediate';
|
|
34
|
+
};
|
|
35
|
+
readonly android?: {
|
|
36
|
+
readonly mode: 'immediate';
|
|
37
|
+
} | {
|
|
38
|
+
readonly mode: 'staged';
|
|
39
|
+
readonly initialFraction: string;
|
|
40
|
+
};
|
|
41
|
+
readonly ios?: {
|
|
42
|
+
readonly mode: 'immediate' | 'staged';
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=deployAuthoring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployAuthoring.d.ts","sourceRoot":"","sources":["../../src/types/deployAuthoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;CAC1F;AAED,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IACnF,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,MAAM,uCAAuC,GAC/C,CAAC,sCAAsC,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAC/B,CAAC,GACF,CAAC,sCAAsC,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAC/B,CAAC,GACF,CAAC,sCAAsC,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;CACjD,CAAC,CAAC;AAEP,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EACb;QACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;KAC5B,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;IACN,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;KACvC,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployAuthoring.js","sourceRoot":"","sources":["../../src/types/deployAuthoring.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry, SerializableSet } from '@ankhorage/contracts/structure';\n\nimport type { MonetizationBasePrice } from '../domain/monetization/MonetizationBasePrice';\nimport type { MonetizationLocalization } from '../domain/monetization/MonetizationLocalization';\nimport type { MonetizationSubscription } from '../domain/monetization/MonetizationSubscription';\nimport type { ReleaseNote } from '../domain/release/ReleaseNote';\nimport type { ReleaseTarget } from '../domain/release/ReleaseTarget';\n\nexport interface DeployMonetizationAuthoringValue {\n readonly products: EntityRegistry<string, DeployMonetizationProductAuthoringValue, 'id'>;\n}\n\ninterface DeployMonetizationProductAuthoringBase {\n readonly id: string;\n readonly localizations: EntityRegistry<string, MonetizationLocalization, 'locale'>;\n readonly basePrice: MonetizationBasePrice;\n}\n\nexport type DeployMonetizationProductAuthoringValue =\n | (DeployMonetizationProductAuthoringBase & {\n readonly kind: 'consumable';\n readonly subscription?: never;\n })\n | (DeployMonetizationProductAuthoringBase & {\n readonly kind: 'non-consumable';\n readonly subscription?: never;\n })\n | (DeployMonetizationProductAuthoringBase & {\n readonly kind: 'subscription';\n readonly subscription: MonetizationSubscription;\n });\n\nexport interface DeployReleaseAuthoringValue {\n readonly version: string;\n readonly targets: SerializableSet<ReleaseTarget>;\n readonly notes: EntityRegistry<string, ReleaseNote, 'locale'>;\n readonly rollout: DeployReleaseAuthoringRollout;\n}\n\nexport interface DeployReleaseAuthoringRollout {\n readonly web?: {\n readonly mode: 'immediate';\n };\n readonly android?:\n | {\n readonly mode: 'immediate';\n }\n | {\n readonly mode: 'staged';\n readonly initialFraction: string;\n };\n readonly ios?: {\n readonly mode: 'immediate' | 'staged';\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/deploy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Declarative deployment engine for Expo apps across web, iOS, and Android — build, provision, publish, and manage releases from one configuration.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
"import": "./dist/index.js",
|
|
38
38
|
"default": "./dist/index.js"
|
|
39
39
|
},
|
|
40
|
+
"./authoring": {
|
|
41
|
+
"types": "./dist/authoring.d.ts",
|
|
42
|
+
"import": "./dist/authoring.js",
|
|
43
|
+
"default": "./dist/authoring.js"
|
|
44
|
+
},
|
|
40
45
|
"./project": {
|
|
41
46
|
"types": "./dist/project/index.d.ts",
|
|
42
47
|
"import": "./dist/project/index.js",
|
|
@@ -80,7 +85,7 @@
|
|
|
80
85
|
"knip:check": "ankhorage-knip"
|
|
81
86
|
},
|
|
82
87
|
"dependencies": {
|
|
83
|
-
"@ankhorage/contracts": "^22.8.
|
|
88
|
+
"@ankhorage/contracts": "^22.8.2",
|
|
84
89
|
"@ankhorage/deploy-provider-app-store-connect": "^0.0.0",
|
|
85
90
|
"@ankhorage/deploy-provider-eas": "^0.0.0",
|
|
86
91
|
"@ankhorage/deploy-provider-google-play": "^0.0.0"
|