@ankhorage/deploy 0.11.0 → 0.12.0
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 +6 -0
- package/README.md +1 -1
- package/dist/project/index.d.ts +14 -0
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/index.js +7 -0
- package/dist/project/index.js.map +1 -1
- package/dist/project/io/removeContainedPath.d.ts +6 -0
- package/dist/project/io/removeContainedPath.d.ts.map +1 -0
- package/dist/project/io/removeContainedPath.js +10 -0
- package/dist/project/io/removeContainedPath.js.map +1 -0
- package/dist/project/monetization/writeProjectMonetization.d.ts +7 -0
- package/dist/project/monetization/writeProjectMonetization.d.ts.map +1 -0
- package/dist/project/monetization/writeProjectMonetization.js +15 -0
- package/dist/project/monetization/writeProjectMonetization.js.map +1 -0
- package/dist/project/release/ProjectReleaseInput.d.ts +3 -0
- package/dist/project/release/ProjectReleaseInput.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseInput.js +2 -0
- package/dist/project/release/ProjectReleaseInput.js.map +1 -0
- package/dist/project/release/writeProjectRelease.d.ts +7 -0
- package/dist/project/release/writeProjectRelease.d.ts.map +1 -0
- package/dist/project/release/writeProjectRelease.js +15 -0
- package/dist/project/release/writeProjectRelease.js.map +1 -0
- package/dist/project/storeListing/ProjectStoreListingAssetLocation.d.ts +11 -0
- package/dist/project/storeListing/ProjectStoreListingAssetLocation.d.ts.map +1 -0
- package/dist/project/storeListing/ProjectStoreListingAssetLocation.js +2 -0
- package/dist/project/storeListing/ProjectStoreListingAssetLocation.js.map +1 -0
- package/dist/project/storeListing/ResolvedProjectStoreListingAssetLocation.d.ts +7 -0
- package/dist/project/storeListing/ResolvedProjectStoreListingAssetLocation.d.ts.map +1 -0
- package/dist/project/storeListing/ResolvedProjectStoreListingAssetLocation.js +2 -0
- package/dist/project/storeListing/ResolvedProjectStoreListingAssetLocation.js.map +1 -0
- package/dist/project/storeListing/assertStoreListingAssetBytes.d.ts +2 -0
- package/dist/project/storeListing/assertStoreListingAssetBytes.d.ts.map +1 -0
- package/dist/project/storeListing/assertStoreListingAssetBytes.js +29 -0
- package/dist/project/storeListing/assertStoreListingAssetBytes.js.map +1 -0
- package/dist/project/storeListing/assertStoreListingAssetLocale.d.ts +2 -0
- package/dist/project/storeListing/assertStoreListingAssetLocale.d.ts.map +1 -0
- package/dist/project/storeListing/assertStoreListingAssetLocale.js +10 -0
- package/dist/project/storeListing/assertStoreListingAssetLocale.js.map +1 -0
- package/dist/project/storeListing/removeEmptyStoreListingDirectories.d.ts +2 -0
- package/dist/project/storeListing/removeEmptyStoreListingDirectories.d.ts.map +1 -0
- package/dist/project/storeListing/removeEmptyStoreListingDirectories.js +32 -0
- package/dist/project/storeListing/removeEmptyStoreListingDirectories.js.map +1 -0
- package/dist/project/storeListing/removeProjectStoreListingAsset.d.ts +7 -0
- package/dist/project/storeListing/removeProjectStoreListingAsset.d.ts.map +1 -0
- package/dist/project/storeListing/removeProjectStoreListingAsset.js +16 -0
- package/dist/project/storeListing/removeProjectStoreListingAsset.js.map +1 -0
- package/dist/project/storeListing/removeProjectStoreListingLocale.d.ts +6 -0
- package/dist/project/storeListing/removeProjectStoreListingLocale.d.ts.map +1 -0
- package/dist/project/storeListing/removeProjectStoreListingLocale.js +27 -0
- package/dist/project/storeListing/removeProjectStoreListingLocale.js.map +1 -0
- package/dist/project/storeListing/resolveProjectStoreListingAssetLocation.d.ts +5 -0
- package/dist/project/storeListing/resolveProjectStoreListingAssetLocation.d.ts.map +1 -0
- package/dist/project/storeListing/resolveProjectStoreListingAssetLocation.js +36 -0
- package/dist/project/storeListing/resolveProjectStoreListingAssetLocation.js.map +1 -0
- package/dist/project/storeListing/writeProjectStoreListingAsset.d.ts +8 -0
- package/dist/project/storeListing/writeProjectStoreListingAsset.d.ts.map +1 -0
- package/dist/project/storeListing/writeProjectStoreListingAsset.js +21 -0
- package/dist/project/storeListing/writeProjectStoreListingAsset.js.map +1 -0
- package/dist/project/storeListing/writeProjectStoreListingLocale.d.ts +7 -0
- package/dist/project/storeListing/writeProjectStoreListingLocale.d.ts.map +1 -0
- package/dist/project/storeListing/writeProjectStoreListingLocale.js +16 -0
- package/dist/project/storeListing/writeProjectStoreListingLocale.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ankhorage/deploy
|
|
2
2
|
|
|
3
|
+
## 0.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9b735ec: Expose canonical project authoring APIs for store listing locales/assets, monetization products, and prepared releases so Studio and other consumers can mutate Deploy-owned desired state without duplicating authored file layout or validation.
|
|
8
|
+
|
|
3
9
|
## 0.11.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/deploy
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Declarative deployment engine for Expo apps across web, iOS, and Android.
|
|
9
9
|
|
package/dist/project/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export type { MonetizationDesiredState } from '../domain/monetization/MonetizationDesiredState';
|
|
2
|
+
export type { StoreListingLocale } from '../domain/storeListing/StoreListingLocale';
|
|
3
|
+
export type { StoreListingTarget } from '../domain/storeListing/StoreListingTarget';
|
|
2
4
|
export { createProjectAndroidDeploymentPlan } from './android/createProjectAndroidDeploymentPlan';
|
|
3
5
|
export { executeProjectAndroidDeployment, type ExecuteProjectAndroidDeploymentOptions, } from './android/executeProjectAndroidDeployment';
|
|
4
6
|
export { inspectProjectAndroidDeployment, type InspectProjectAndroidDeploymentOptions, } from './android/inspectProjectAndroidDeployment';
|
|
@@ -28,6 +30,7 @@ export type { ProjectMonetizationInspectionResult } from './monetization/Project
|
|
|
28
30
|
export type { ProjectMonetizationPlan } from './monetization/ProjectMonetizationPlan';
|
|
29
31
|
export type { ProjectMonetizationTargets } from './monetization/ProjectMonetizationTargets';
|
|
30
32
|
export { readProjectMonetization } from './monetization/readProjectMonetization';
|
|
33
|
+
export { writeProjectMonetization } from './monetization/writeProjectMonetization';
|
|
31
34
|
export type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';
|
|
32
35
|
export { readProjectDeploymentConfig } from './readProjectDeploymentConfig';
|
|
33
36
|
export { createProjectReleasePlan } from './release/createProjectReleasePlan';
|
|
@@ -41,6 +44,7 @@ export type { ProjectReleaseAccess } from './release/ProjectReleaseAccess';
|
|
|
41
44
|
export type { ProjectReleaseAndroidContext } from './release/ProjectReleaseAndroidContext';
|
|
42
45
|
export type { ProjectReleaseExecution } from './release/ProjectReleaseExecution';
|
|
43
46
|
export type { ProjectReleaseExecutionResult } from './release/ProjectReleaseExecutionResult';
|
|
47
|
+
export type { ProjectReleaseInput } from './release/ProjectReleaseInput';
|
|
44
48
|
export type { ProjectReleaseInspection } from './release/ProjectReleaseInspection';
|
|
45
49
|
export type { ProjectReleaseInspectionResult } from './release/ProjectReleaseInspectionResult';
|
|
46
50
|
export type { ProjectReleaseIosContext } from './release/ProjectReleaseIosContext';
|
|
@@ -48,6 +52,7 @@ export type { ProjectReleaseWebContext } from './release/ProjectReleaseWebContex
|
|
|
48
52
|
export { readProjectRelease } from './release/readProjectRelease';
|
|
49
53
|
export { resumeProjectRelease } from './release/resumeProjectRelease';
|
|
50
54
|
export type { ResumeProjectReleaseOptions } from './release/ResumeProjectReleaseOptions';
|
|
55
|
+
export { writeProjectRelease } from './release/writeProjectRelease';
|
|
51
56
|
export { createProjectReleaseHistoryRecord } from './releaseHistory/createProjectReleaseHistoryRecord';
|
|
52
57
|
export { listProjectReleaseHistory } from './releaseHistory/listProjectReleaseHistory';
|
|
53
58
|
export type { ProjectReleaseHistoryRecord } from './releaseHistory/ProjectReleaseHistoryRecord';
|
|
@@ -56,6 +61,15 @@ export { recordProjectReleaseHistory } from './releaseHistory/recordProjectRelea
|
|
|
56
61
|
export type { ResolvedDeployProject } from './ResolvedDeployProject';
|
|
57
62
|
export { resolveDeployProject } from './resolveDeployProject';
|
|
58
63
|
export { resolveProjectDeploymentPaths } from './resolveProjectDeploymentPaths';
|
|
64
|
+
export type { ProjectStoreListing } from './storeListing/ProjectStoreListing';
|
|
65
|
+
export type { ProjectStoreListingAsset } from './storeListing/ProjectStoreListingAsset';
|
|
66
|
+
export type { ProjectStoreListingAssetLocation } from './storeListing/ProjectStoreListingAssetLocation';
|
|
67
|
+
export type { ProjectStoreListingAssetSet } from './storeListing/ProjectStoreListingAssetSet';
|
|
68
|
+
export { readProjectStoreListing } from './storeListing/readProjectStoreListing';
|
|
69
|
+
export { removeProjectStoreListingAsset } from './storeListing/removeProjectStoreListingAsset';
|
|
70
|
+
export { removeProjectStoreListingLocale } from './storeListing/removeProjectStoreListingLocale';
|
|
71
|
+
export { writeProjectStoreListingAsset } from './storeListing/writeProjectStoreListingAsset';
|
|
72
|
+
export { writeProjectStoreListingLocale } from './storeListing/writeProjectStoreListingLocale';
|
|
59
73
|
export { type ProjectDeploymentConfigUpdater, updateProjectDeploymentConfig, } from './updateProjectDeploymentConfig';
|
|
60
74
|
export { createProjectWebDeploymentPlan } from './web/createProjectWebDeploymentPlan';
|
|
61
75
|
export { executeProjectWebDeployment, type ExecuteProjectWebDeploymentOptions, } from './web/executeProjectWebDeployment';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"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"}
|
package/dist/project/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { createProjectMonetizationPlan } from './monetization/createProjectMonet
|
|
|
12
12
|
export { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';
|
|
13
13
|
export { inspectProjectMonetization } from './monetization/inspectProjectMonetization';
|
|
14
14
|
export { readProjectMonetization } from './monetization/readProjectMonetization';
|
|
15
|
+
export { writeProjectMonetization } from './monetization/writeProjectMonetization';
|
|
15
16
|
export { readProjectDeploymentConfig } from './readProjectDeploymentConfig';
|
|
16
17
|
export { createProjectReleasePlan } from './release/createProjectReleasePlan';
|
|
17
18
|
export { executeProjectRelease } from './release/executeProjectRelease';
|
|
@@ -19,12 +20,18 @@ export { executeProjectReleaseControl } from './release/executeProjectReleaseCon
|
|
|
19
20
|
export { inspectProjectRelease } from './release/inspectProjectRelease';
|
|
20
21
|
export { readProjectRelease } from './release/readProjectRelease';
|
|
21
22
|
export { resumeProjectRelease } from './release/resumeProjectRelease';
|
|
23
|
+
export { writeProjectRelease } from './release/writeProjectRelease';
|
|
22
24
|
export { createProjectReleaseHistoryRecord } from './releaseHistory/createProjectReleaseHistoryRecord';
|
|
23
25
|
export { listProjectReleaseHistory } from './releaseHistory/listProjectReleaseHistory';
|
|
24
26
|
export { readProjectReleaseHistory } from './releaseHistory/readProjectReleaseHistory';
|
|
25
27
|
export { recordProjectReleaseHistory } from './releaseHistory/recordProjectReleaseHistory';
|
|
26
28
|
export { resolveDeployProject } from './resolveDeployProject';
|
|
27
29
|
export { resolveProjectDeploymentPaths } from './resolveProjectDeploymentPaths';
|
|
30
|
+
export { readProjectStoreListing } from './storeListing/readProjectStoreListing';
|
|
31
|
+
export { removeProjectStoreListingAsset } from './storeListing/removeProjectStoreListingAsset';
|
|
32
|
+
export { removeProjectStoreListingLocale } from './storeListing/removeProjectStoreListingLocale';
|
|
33
|
+
export { writeProjectStoreListingAsset } from './storeListing/writeProjectStoreListingAsset';
|
|
34
|
+
export { writeProjectStoreListingLocale } from './storeListing/writeProjectStoreListingLocale';
|
|
28
35
|
export { updateProjectDeploymentConfig, } from './updateProjectDeploymentConfig';
|
|
29
36
|
export { createProjectWebDeploymentPlan } from './web/createProjectWebDeploymentPlan';
|
|
30
37
|
export { executeProjectWebDeployment, } from './web/executeProjectWebDeployment';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,yCAAyC,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAQvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAWxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAEL,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC","sourcesContent":["export type { MonetizationDesiredState } from '../domain/monetization/MonetizationDesiredState';\nexport type { StoreListingLocale } from '../domain/storeListing/StoreListingLocale';\nexport type { StoreListingTarget } from '../domain/storeListing/StoreListingTarget';\nexport { createProjectAndroidDeploymentPlan } from './android/createProjectAndroidDeploymentPlan';\nexport {\n executeProjectAndroidDeployment,\n type ExecuteProjectAndroidDeploymentOptions,\n} from './android/executeProjectAndroidDeployment';\nexport {\n inspectProjectAndroidDeployment,\n type InspectProjectAndroidDeploymentOptions,\n} from './android/inspectProjectAndroidDeployment';\nexport type { ProjectAndroidDeploymentAccess } from './android/ProjectAndroidDeploymentAccess';\nexport type { ProjectAndroidDeploymentExecution } from './android/ProjectAndroidDeploymentExecution';\nexport type {\n ProjectAndroidDeploymentInspection,\n ProjectAndroidDeploymentInspectionResult,\n} from './android/ProjectAndroidDeploymentInspection';\nexport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './history/historySchemaVersion';\nexport { listProjectDeploymentHistory } from './history/listProjectDeploymentHistory';\nexport type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nexport { readProjectDeploymentHistory } from './history/readProjectDeploymentHistory';\nexport { recordProjectDeploymentHistory } from './history/recordProjectDeploymentHistory';\nexport { createProjectIosDeploymentPlan } from './ios/createProjectIosDeploymentPlan';\nexport {\n executeProjectIosDeployment,\n type ExecuteProjectIosDeploymentOptions,\n} from './ios/executeProjectIosDeployment';\nexport {\n inspectProjectIosDeployment,\n type InspectProjectIosDeploymentOptions,\n} from './ios/inspectProjectIosDeployment';\nexport type { ProjectIosDeploymentAccess } from './ios/ProjectIosDeploymentAccess';\nexport type { ProjectIosDeploymentExecution } from './ios/ProjectIosDeploymentExecution';\nexport type {\n ProjectIosDeploymentInspection,\n ProjectIosDeploymentInspectionResult,\n} from './ios/ProjectIosDeploymentInspection';\nexport { createProjectMonetizationPlan } from './monetization/createProjectMonetizationPlan';\nexport { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';\nexport type { ExecuteProjectMonetizationSyncOptions } from './monetization/ExecuteProjectMonetizationSyncOptions';\nexport { inspectProjectMonetization } from './monetization/inspectProjectMonetization';\nexport type { InspectProjectMonetizationOptions } from './monetization/InspectProjectMonetizationOptions';\nexport type { ProjectMonetizationAccess } from './monetization/ProjectMonetizationAccess';\nexport type { ProjectMonetizationExecutionResult } from './monetization/ProjectMonetizationExecutionResult';\nexport type { ProjectMonetizationInspection } from './monetization/ProjectMonetizationInspection';\nexport type { ProjectMonetizationInspectionResult } from './monetization/ProjectMonetizationInspectionResult';\nexport type { ProjectMonetizationPlan } from './monetization/ProjectMonetizationPlan';\nexport type { ProjectMonetizationTargets } from './monetization/ProjectMonetizationTargets';\nexport { readProjectMonetization } from './monetization/readProjectMonetization';\nexport { writeProjectMonetization } from './monetization/writeProjectMonetization';\nexport type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';\nexport { readProjectDeploymentConfig } from './readProjectDeploymentConfig';\nexport { createProjectReleasePlan } from './release/createProjectReleasePlan';\nexport { executeProjectRelease } from './release/executeProjectRelease';\nexport { executeProjectReleaseControl } from './release/executeProjectReleaseControl';\nexport type { ExecuteProjectReleaseControlOptions } from './release/ExecuteProjectReleaseControlOptions';\nexport type { ExecuteProjectReleaseOptions } from './release/ExecuteProjectReleaseOptions';\nexport { inspectProjectRelease } from './release/inspectProjectRelease';\nexport type { InspectProjectReleaseOptions } from './release/InspectProjectReleaseOptions';\nexport type { ProjectReleaseAccess } from './release/ProjectReleaseAccess';\nexport type { ProjectReleaseAndroidContext } from './release/ProjectReleaseAndroidContext';\nexport type { ProjectReleaseExecution } from './release/ProjectReleaseExecution';\nexport type { ProjectReleaseExecutionResult } from './release/ProjectReleaseExecutionResult';\nexport type { ProjectReleaseInput } from './release/ProjectReleaseInput';\nexport type { ProjectReleaseInspection } from './release/ProjectReleaseInspection';\nexport type { ProjectReleaseInspectionResult } from './release/ProjectReleaseInspectionResult';\nexport type { ProjectReleaseIosContext } from './release/ProjectReleaseIosContext';\nexport type { ProjectReleaseWebContext } from './release/ProjectReleaseWebContext';\nexport { readProjectRelease } from './release/readProjectRelease';\nexport { resumeProjectRelease } from './release/resumeProjectRelease';\nexport type { ResumeProjectReleaseOptions } from './release/ResumeProjectReleaseOptions';\nexport { writeProjectRelease } from './release/writeProjectRelease';\nexport { createProjectReleaseHistoryRecord } from './releaseHistory/createProjectReleaseHistoryRecord';\nexport { listProjectReleaseHistory } from './releaseHistory/listProjectReleaseHistory';\nexport type { ProjectReleaseHistoryRecord } from './releaseHistory/ProjectReleaseHistoryRecord';\nexport { readProjectReleaseHistory } from './releaseHistory/readProjectReleaseHistory';\nexport { recordProjectReleaseHistory } from './releaseHistory/recordProjectReleaseHistory';\nexport type { ResolvedDeployProject } from './ResolvedDeployProject';\nexport { resolveDeployProject } from './resolveDeployProject';\nexport { resolveProjectDeploymentPaths } from './resolveProjectDeploymentPaths';\nexport type { ProjectStoreListing } from './storeListing/ProjectStoreListing';\nexport type { ProjectStoreListingAsset } from './storeListing/ProjectStoreListingAsset';\nexport type { ProjectStoreListingAssetLocation } from './storeListing/ProjectStoreListingAssetLocation';\nexport type { ProjectStoreListingAssetSet } from './storeListing/ProjectStoreListingAssetSet';\nexport { readProjectStoreListing } from './storeListing/readProjectStoreListing';\nexport { removeProjectStoreListingAsset } from './storeListing/removeProjectStoreListingAsset';\nexport { removeProjectStoreListingLocale } from './storeListing/removeProjectStoreListingLocale';\nexport { writeProjectStoreListingAsset } from './storeListing/writeProjectStoreListingAsset';\nexport { writeProjectStoreListingLocale } from './storeListing/writeProjectStoreListingLocale';\nexport {\n type ProjectDeploymentConfigUpdater,\n updateProjectDeploymentConfig,\n} from './updateProjectDeploymentConfig';\nexport { createProjectWebDeploymentPlan } from './web/createProjectWebDeploymentPlan';\nexport {\n executeProjectWebDeployment,\n type ExecuteProjectWebDeploymentOptions,\n} from './web/executeProjectWebDeployment';\nexport {\n inspectProjectWebDeployment,\n type InspectProjectWebDeploymentOptions,\n} from './web/inspectProjectWebDeployment';\nexport type { ProjectWebDeploymentAccess } from './web/ProjectWebDeploymentAccess';\nexport type { ProjectWebDeploymentExecution } from './web/ProjectWebDeploymentExecution';\nexport type {\n ProjectWebDeploymentInspection,\n ProjectWebDeploymentInspectionResult,\n} from './web/ProjectWebDeploymentInspection';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeContainedPath.d.ts","sourceRoot":"","sources":["../../../src/project/io/removeContainedPath.ts"],"names":[],"mappings":"AAIA,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import { assertContainedWritePath } from './assertContainedPath';
|
|
3
|
+
export async function removeContainedPath(options) {
|
|
4
|
+
await assertContainedWritePath(options.projectRoot, options.targetPath);
|
|
5
|
+
await fs.rm(options.targetPath, {
|
|
6
|
+
force: true,
|
|
7
|
+
recursive: options.recursive ?? false,
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=removeContainedPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeContainedPath.js","sourceRoot":"","sources":["../../../src/project/io/removeContainedPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAIzC;IACC,MAAM,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;QAC9B,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { promises as fs } from 'node:fs';\n\nimport { assertContainedWritePath } from './assertContainedPath';\n\nexport async function removeContainedPath(options: {\n readonly projectRoot: string;\n readonly targetPath: string;\n readonly recursive?: boolean;\n}): Promise<void> {\n await assertContainedWritePath(options.projectRoot, options.targetPath);\n await fs.rm(options.targetPath, {\n force: true,\n recursive: options.recursive ?? false,\n });\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MonetizationDesiredState } from '../../domain/monetization/MonetizationDesiredState';
|
|
2
|
+
import type { MonetizationProduct } from '../../domain/monetization/MonetizationProduct';
|
|
3
|
+
export declare function writeProjectMonetization(options: {
|
|
4
|
+
readonly projectRoot: string;
|
|
5
|
+
readonly products: readonly MonetizationProduct[];
|
|
6
|
+
}): Promise<MonetizationDesiredState>;
|
|
7
|
+
//# sourceMappingURL=writeProjectMonetization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectMonetization.d.ts","sourceRoot":"","sources":["../../../src/project/monetization/writeProjectMonetization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAMzF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD,GAAG,OAAO,CAAC,wBAAwB,CAAC,CASpC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { atomicWriteJson } from '../io/atomicWriteJson';
|
|
2
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
3
|
+
import { parseProjectMonetization } from './parseProjectMonetization';
|
|
4
|
+
import { readProjectMonetization } from './readProjectMonetization';
|
|
5
|
+
export async function writeProjectMonetization(options) {
|
|
6
|
+
const products = parseProjectMonetization({ products: options.products });
|
|
7
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
8
|
+
await atomicWriteJson({
|
|
9
|
+
projectRoot: paths.projectRoot,
|
|
10
|
+
filePath: paths.productsPath,
|
|
11
|
+
value: { products },
|
|
12
|
+
});
|
|
13
|
+
return readProjectMonetization({ projectRoot: paths.projectRoot });
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=writeProjectMonetization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectMonetization.js","sourceRoot":"","sources":["../../../src/project/monetization/writeProjectMonetization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAG9C;IACC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,eAAe,CAAC;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY;QAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE;KACpB,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import type { MonetizationDesiredState } from '../../domain/monetization/MonetizationDesiredState';\nimport type { MonetizationProduct } from '../../domain/monetization/MonetizationProduct';\nimport { atomicWriteJson } from '../io/atomicWriteJson';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport { parseProjectMonetization } from './parseProjectMonetization';\nimport { readProjectMonetization } from './readProjectMonetization';\n\nexport async function writeProjectMonetization(options: {\n readonly projectRoot: string;\n readonly products: readonly MonetizationProduct[];\n}): Promise<MonetizationDesiredState> {\n const products = parseProjectMonetization({ products: options.products });\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n await atomicWriteJson({\n projectRoot: paths.projectRoot,\n filePath: paths.productsPath,\n value: { products },\n });\n return readProjectMonetization({ projectRoot: paths.projectRoot });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectReleaseInput.d.ts","sourceRoot":"","sources":["../../../src/project/release/ProjectReleaseInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectReleaseInput.js","sourceRoot":"","sources":["../../../src/project/release/ProjectReleaseInput.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReleaseDesiredState } from '../../domain/release/ReleaseDesiredState';\n\nexport type ProjectReleaseInput = Omit<ReleaseDesiredState, 'revision'>;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReleaseDesiredState } from '../../domain/release/ReleaseDesiredState';
|
|
2
|
+
import type { ProjectReleaseInput } from './ProjectReleaseInput';
|
|
3
|
+
export declare function writeProjectRelease(options: {
|
|
4
|
+
readonly projectRoot: string;
|
|
5
|
+
readonly release: ProjectReleaseInput;
|
|
6
|
+
}): Promise<ReleaseDesiredState>;
|
|
7
|
+
//# sourceMappingURL=writeProjectRelease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectRelease.d.ts","sourceRoot":"","sources":["../../../src/project/release/writeProjectRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAS/B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { atomicWriteJson } from '../io/atomicWriteJson';
|
|
2
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
3
|
+
import { parseProjectRelease } from './parseProjectRelease';
|
|
4
|
+
import { readProjectRelease } from './readProjectRelease';
|
|
5
|
+
export async function writeProjectRelease(options) {
|
|
6
|
+
const release = parseProjectRelease(options.release);
|
|
7
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
8
|
+
await atomicWriteJson({
|
|
9
|
+
projectRoot: paths.projectRoot,
|
|
10
|
+
filePath: paths.releasePath,
|
|
11
|
+
value: release,
|
|
12
|
+
});
|
|
13
|
+
return readProjectRelease({ projectRoot: paths.projectRoot });
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=writeProjectRelease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectRelease.js","sourceRoot":"","sources":["../../../src/project/release/writeProjectRelease.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAGzC;IACC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,eAAe,CAAC;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,WAAW;QAC3B,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import type { ReleaseDesiredState } from '../../domain/release/ReleaseDesiredState';\nimport { atomicWriteJson } from '../io/atomicWriteJson';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport { parseProjectRelease } from './parseProjectRelease';\nimport type { ProjectReleaseInput } from './ProjectReleaseInput';\nimport { readProjectRelease } from './readProjectRelease';\n\nexport async function writeProjectRelease(options: {\n readonly projectRoot: string;\n readonly release: ProjectReleaseInput;\n}): Promise<ReleaseDesiredState> {\n const release = parseProjectRelease(options.release);\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n await atomicWriteJson({\n projectRoot: paths.projectRoot,\n filePath: paths.releasePath,\n value: release,\n });\n return readProjectRelease({ projectRoot: paths.projectRoot });\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type ProjectStoreListingAssetLocation = {
|
|
2
|
+
readonly kind: 'android-shared';
|
|
3
|
+
readonly variant: 'icon' | 'feature';
|
|
4
|
+
} | {
|
|
5
|
+
readonly kind: 'screenshot';
|
|
6
|
+
readonly target: 'android' | 'ios';
|
|
7
|
+
readonly locale: string;
|
|
8
|
+
readonly variant: string;
|
|
9
|
+
readonly filename: string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=ProjectStoreListingAssetLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectStoreListingAssetLocation.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/ProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gCAAgC,GACxC;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectStoreListingAssetLocation.js","sourceRoot":"","sources":["../../../src/project/storeListing/ProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"","sourcesContent":["export type ProjectStoreListingAssetLocation =\n | {\n readonly kind: 'android-shared';\n readonly variant: 'icon' | 'feature';\n }\n | {\n readonly kind: 'screenshot';\n readonly target: 'android' | 'ios';\n readonly locale: string;\n readonly variant: string;\n readonly filename: string;\n };\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ResolvedProjectStoreListingAssetLocation {
|
|
2
|
+
readonly filePath: string;
|
|
3
|
+
readonly filename: string;
|
|
4
|
+
readonly locale?: string;
|
|
5
|
+
readonly cleanupDirectories: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=ResolvedProjectStoreListingAssetLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedProjectStoreListingAssetLocation.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/ResolvedProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedProjectStoreListingAssetLocation.js","sourceRoot":"","sources":["../../../src/project/storeListing/ResolvedProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"","sourcesContent":["export interface ResolvedProjectStoreListingAssetLocation {\n readonly filePath: string;\n readonly filename: string;\n readonly locale?: string;\n readonly cleanupDirectories: readonly string[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertStoreListingAssetBytes.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/assertStoreListingAssetBytes.ts"],"names":[],"mappings":"AAAA,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAWrF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function assertStoreListingAssetBytes(filename, data) {
|
|
2
|
+
const lower = filename.toLowerCase();
|
|
3
|
+
if (lower.endsWith('.png')) {
|
|
4
|
+
if (!isPng(data))
|
|
5
|
+
throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (lower.endsWith('.jpg') || lower.endsWith('.jpeg')) {
|
|
9
|
+
if (!isJpeg(data))
|
|
10
|
+
throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');
|
|
14
|
+
}
|
|
15
|
+
function isPng(data) {
|
|
16
|
+
return (data.length >= 8 &&
|
|
17
|
+
data[0] === 0x89 &&
|
|
18
|
+
data[1] === 0x50 &&
|
|
19
|
+
data[2] === 0x4e &&
|
|
20
|
+
data[3] === 0x47 &&
|
|
21
|
+
data[4] === 0x0d &&
|
|
22
|
+
data[5] === 0x0a &&
|
|
23
|
+
data[6] === 0x1a &&
|
|
24
|
+
data[7] === 0x0a);
|
|
25
|
+
}
|
|
26
|
+
function isJpeg(data) {
|
|
27
|
+
return data.length >= 3 && data[0] === 0xff && data[1] === 0xd8 && data[2] === 0xff;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=assertStoreListingAssetBytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertStoreListingAssetBytes.js","sourceRoot":"","sources":["../../../src/project/storeListing/assertStoreListingAssetBytes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,4BAA4B,CAAC,QAAgB,EAAE,IAAgB;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,OAAO,CACL,IAAI,CAAC,MAAM,IAAI,CAAC;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAgB;IAC9B,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACtF,CAAC","sourcesContent":["export function assertStoreListingAssetBytes(filename: string, data: Uint8Array): void {\n const lower = filename.toLowerCase();\n if (lower.endsWith('.png')) {\n if (!isPng(data)) throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');\n return;\n }\n if (lower.endsWith('.jpg') || lower.endsWith('.jpeg')) {\n if (!isJpeg(data)) throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');\n return;\n }\n throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');\n}\n\nfunction isPng(data: Uint8Array): boolean {\n return (\n data.length >= 8 &&\n data[0] === 0x89 &&\n data[1] === 0x50 &&\n data[2] === 0x4e &&\n data[3] === 0x47 &&\n data[4] === 0x0d &&\n data[5] === 0x0a &&\n data[6] === 0x1a &&\n data[7] === 0x0a\n );\n}\n\nfunction isJpeg(data: Uint8Array): boolean {\n return data.length >= 3 && data[0] === 0xff && data[1] === 0xd8 && data[2] === 0xff;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertStoreListingAssetLocale.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/assertStoreListingAssetLocale.ts"],"names":[],"mappings":"AAGA,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';
|
|
2
|
+
import { readStoreListingLocales } from './readStoreListingLocales';
|
|
3
|
+
export async function assertStoreListingAssetLocale(listingRoot, localeValue) {
|
|
4
|
+
const locale = normalizeStoreListingLocale(localeValue);
|
|
5
|
+
const locales = await readStoreListingLocales(listingRoot);
|
|
6
|
+
if (!locales.some((candidate) => candidate.locale === locale)) {
|
|
7
|
+
throw new Error('STORE_LISTING_ASSET_LOCALE_UNKNOWN');
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=assertStoreListingAssetLocale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertStoreListingAssetLocale.js","sourceRoot":"","sources":["../../../src/project/storeListing/assertStoreListingAssetLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,WAAmB;IAEnB,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC","sourcesContent":["import { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';\nimport { readStoreListingLocales } from './readStoreListingLocales';\n\nexport async function assertStoreListingAssetLocale(\n listingRoot: string,\n localeValue: string,\n): Promise<void> {\n const locale = normalizeStoreListingLocale(localeValue);\n const locales = await readStoreListingLocales(listingRoot);\n if (!locales.some((candidate) => candidate.locale === locale)) {\n throw new Error('STORE_LISTING_ASSET_LOCALE_UNKNOWN');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeEmptyStoreListingDirectories.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/removeEmptyStoreListingDirectories.ts"],"names":[],"mappings":"AAKA,wBAAsB,kCAAkC,CACtD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import { assertContainedWritePath } from '../io/assertContainedPath';
|
|
3
|
+
import { isMissingPathError } from '../io/isMissingPathError';
|
|
4
|
+
export async function removeEmptyStoreListingDirectories(projectRoot, directories) {
|
|
5
|
+
for (const directory of directories) {
|
|
6
|
+
if (!(await isEmpty(directory)))
|
|
7
|
+
continue;
|
|
8
|
+
await assertContainedWritePath(projectRoot, directory);
|
|
9
|
+
await removeEmptyDirectory(directory);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async function isEmpty(directory) {
|
|
13
|
+
try {
|
|
14
|
+
return (await fs.readdir(directory)).length === 0;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (isMissingPathError(error))
|
|
18
|
+
return false;
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async function removeEmptyDirectory(directory) {
|
|
23
|
+
try {
|
|
24
|
+
await fs.rmdir(directory);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (isMissingPathError(error))
|
|
28
|
+
return;
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=removeEmptyStoreListingDirectories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeEmptyStoreListingDirectories.js","sourceRoot":"","sources":["../../../src/project/storeListing/removeEmptyStoreListingDirectories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,WAAmB,EACnB,WAA8B;IAE9B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS;QAC1C,MAAM,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,SAAiB;IACtC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAO;QACtC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { promises as fs } from 'node:fs';\n\nimport { assertContainedWritePath } from '../io/assertContainedPath';\nimport { isMissingPathError } from '../io/isMissingPathError';\n\nexport async function removeEmptyStoreListingDirectories(\n projectRoot: string,\n directories: readonly string[],\n): Promise<void> {\n for (const directory of directories) {\n if (!(await isEmpty(directory))) continue;\n await assertContainedWritePath(projectRoot, directory);\n await removeEmptyDirectory(directory);\n }\n}\n\nasync function isEmpty(directory: string): Promise<boolean> {\n try {\n return (await fs.readdir(directory)).length === 0;\n } catch (error) {\n if (isMissingPathError(error)) return false;\n throw error;\n }\n}\n\nasync function removeEmptyDirectory(directory: string): Promise<void> {\n try {\n await fs.rmdir(directory);\n } catch (error) {\n if (isMissingPathError(error)) return;\n throw error;\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProjectStoreListing } from './ProjectStoreListing';
|
|
2
|
+
import type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';
|
|
3
|
+
export declare function removeProjectStoreListingAsset(options: {
|
|
4
|
+
readonly projectRoot: string;
|
|
5
|
+
readonly location: ProjectStoreListingAssetLocation;
|
|
6
|
+
}): Promise<ProjectStoreListing>;
|
|
7
|
+
//# sourceMappingURL=removeProjectStoreListingAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeProjectStoreListingAsset.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/removeProjectStoreListingAsset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAK3F,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;CACrD,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAS/B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { removeContainedPath } from '../io/removeContainedPath';
|
|
2
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
3
|
+
import { readProjectStoreListing } from './readProjectStoreListing';
|
|
4
|
+
import { removeEmptyStoreListingDirectories } from './removeEmptyStoreListingDirectories';
|
|
5
|
+
import { resolveProjectStoreListingAssetLocation } from './resolveProjectStoreListingAssetLocation';
|
|
6
|
+
export async function removeProjectStoreListingAsset(options) {
|
|
7
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
8
|
+
const resolved = resolveProjectStoreListingAssetLocation(paths, options.location);
|
|
9
|
+
await removeContainedPath({
|
|
10
|
+
projectRoot: paths.projectRoot,
|
|
11
|
+
targetPath: resolved.filePath,
|
|
12
|
+
});
|
|
13
|
+
await removeEmptyStoreListingDirectories(paths.projectRoot, resolved.cleanupDirectories);
|
|
14
|
+
return readProjectStoreListing({ projectRoot: paths.projectRoot });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=removeProjectStoreListingAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeProjectStoreListingAsset.js","sourceRoot":"","sources":["../../../src/project/storeListing/removeProjectStoreListingAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAGpD;IACC,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,uCAAuC,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,MAAM,mBAAmB,CAAC;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,QAAQ,CAAC,QAAQ;KAC9B,CAAC,CAAC;IACH,MAAM,kCAAkC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACzF,OAAO,uBAAuB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { removeContainedPath } from '../io/removeContainedPath';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport type { ProjectStoreListing } from './ProjectStoreListing';\nimport type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';\nimport { readProjectStoreListing } from './readProjectStoreListing';\nimport { removeEmptyStoreListingDirectories } from './removeEmptyStoreListingDirectories';\nimport { resolveProjectStoreListingAssetLocation } from './resolveProjectStoreListingAssetLocation';\n\nexport async function removeProjectStoreListingAsset(options: {\n readonly projectRoot: string;\n readonly location: ProjectStoreListingAssetLocation;\n}): Promise<ProjectStoreListing> {\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n const resolved = resolveProjectStoreListingAssetLocation(paths, options.location);\n await removeContainedPath({\n projectRoot: paths.projectRoot,\n targetPath: resolved.filePath,\n });\n await removeEmptyStoreListingDirectories(paths.projectRoot, resolved.cleanupDirectories);\n return readProjectStoreListing({ projectRoot: paths.projectRoot });\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectStoreListing } from './ProjectStoreListing';
|
|
2
|
+
export declare function removeProjectStoreListingLocale(options: {
|
|
3
|
+
readonly projectRoot: string;
|
|
4
|
+
readonly locale: string;
|
|
5
|
+
}): Promise<ProjectStoreListing>;
|
|
6
|
+
//# sourceMappingURL=removeProjectStoreListingLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeProjectStoreListingLocale.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/removeProjectStoreListingLocale.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoB/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';
|
|
3
|
+
import { removeContainedPath } from '../io/removeContainedPath';
|
|
4
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
5
|
+
import { readProjectStoreListing } from './readProjectStoreListing';
|
|
6
|
+
export async function removeProjectStoreListingLocale(options) {
|
|
7
|
+
const locale = normalizeStoreListingLocale(options.locale);
|
|
8
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
9
|
+
await Promise.all([
|
|
10
|
+
removeContainedPath({
|
|
11
|
+
projectRoot: paths.projectRoot,
|
|
12
|
+
targetPath: path.join(paths.listingRoot, `${locale}.json`),
|
|
13
|
+
}),
|
|
14
|
+
removeContainedPath({
|
|
15
|
+
projectRoot: paths.projectRoot,
|
|
16
|
+
targetPath: path.join(paths.androidScreenshotsRoot, locale),
|
|
17
|
+
recursive: true,
|
|
18
|
+
}),
|
|
19
|
+
removeContainedPath({
|
|
20
|
+
projectRoot: paths.projectRoot,
|
|
21
|
+
targetPath: path.join(paths.iosScreenshotsRoot, locale),
|
|
22
|
+
recursive: true,
|
|
23
|
+
}),
|
|
24
|
+
]);
|
|
25
|
+
return readProjectStoreListing({ projectRoot: paths.projectRoot });
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=removeProjectStoreListingLocale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeProjectStoreListingLocale.js","sourceRoot":"","sources":["../../../src/project/storeListing/removeProjectStoreListingLocale.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAGrD;IACC,MAAM,MAAM,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,mBAAmB,CAAC;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC;SAC3D,CAAC;QACF,mBAAmB,CAAC;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC;YAC3D,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,mBAAmB,CAAC;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC;YACvD,SAAS,EAAE,IAAI;SAChB,CAAC;KACH,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import path from 'node:path';\n\nimport { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';\nimport { removeContainedPath } from '../io/removeContainedPath';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport type { ProjectStoreListing } from './ProjectStoreListing';\nimport { readProjectStoreListing } from './readProjectStoreListing';\n\nexport async function removeProjectStoreListingLocale(options: {\n readonly projectRoot: string;\n readonly locale: string;\n}): Promise<ProjectStoreListing> {\n const locale = normalizeStoreListingLocale(options.locale);\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n await Promise.all([\n removeContainedPath({\n projectRoot: paths.projectRoot,\n targetPath: path.join(paths.listingRoot, `${locale}.json`),\n }),\n removeContainedPath({\n projectRoot: paths.projectRoot,\n targetPath: path.join(paths.androidScreenshotsRoot, locale),\n recursive: true,\n }),\n removeContainedPath({\n projectRoot: paths.projectRoot,\n targetPath: path.join(paths.iosScreenshotsRoot, locale),\n recursive: true,\n }),\n ]);\n return readProjectStoreListing({ projectRoot: paths.projectRoot });\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectDeploymentPaths } from '../ProjectDeploymentPaths';
|
|
2
|
+
import type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';
|
|
3
|
+
import type { ResolvedProjectStoreListingAssetLocation } from './ResolvedProjectStoreListingAssetLocation';
|
|
4
|
+
export declare function resolveProjectStoreListingAssetLocation(paths: ProjectDeploymentPaths, location: ProjectStoreListingAssetLocation): ResolvedProjectStoreListingAssetLocation;
|
|
5
|
+
//# sourceMappingURL=resolveProjectStoreListingAssetLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveProjectStoreListingAssetLocation.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/resolveProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAC;AAE3G,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gCAAgC,GACzC,wCAAwC,CAuB1C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';
|
|
3
|
+
export function resolveProjectStoreListingAssetLocation(paths, location) {
|
|
4
|
+
if (location.kind === 'android-shared') {
|
|
5
|
+
const filename = location.variant === 'icon' ? 'icon.png' : 'feature.png';
|
|
6
|
+
return {
|
|
7
|
+
filePath: path.join(paths.androidAssetsRoot, filename),
|
|
8
|
+
filename,
|
|
9
|
+
cleanupDirectories: [],
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const locale = normalizeStoreListingLocale(location.locale);
|
|
13
|
+
assertPathSegment(location.variant);
|
|
14
|
+
assertImageFilename(location.filename);
|
|
15
|
+
const root = location.target === 'android' ? paths.androidScreenshotsRoot : paths.iosScreenshotsRoot;
|
|
16
|
+
const localeRoot = path.join(root, locale);
|
|
17
|
+
const variantRoot = path.join(localeRoot, location.variant);
|
|
18
|
+
return {
|
|
19
|
+
filePath: path.join(variantRoot, location.filename),
|
|
20
|
+
filename: location.filename,
|
|
21
|
+
locale,
|
|
22
|
+
cleanupDirectories: [variantRoot, localeRoot],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function assertPathSegment(value) {
|
|
26
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(value) || value === '.' || value === '..') {
|
|
27
|
+
throw new Error('STORE_LISTING_ASSET_PATH_INVALID');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function assertImageFilename(value) {
|
|
31
|
+
assertPathSegment(value);
|
|
32
|
+
if (!/\.(png|jpe?g)$/i.test(value)) {
|
|
33
|
+
throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=resolveProjectStoreListingAssetLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveProjectStoreListingAssetLocation.js","sourceRoot":"","sources":["../../../src/project/storeListing/resolveProjectStoreListingAssetLocation.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AAKpG,MAAM,UAAU,uCAAuC,CACrD,KAA6B,EAC7B,QAA0C;IAE1C,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1E,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC;YACtD,QAAQ;YACR,kBAAkB,EAAE,EAAE;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GACR,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACnD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM;QACN,kBAAkB,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC","sourcesContent":["import path from 'node:path';\n\nimport { normalizeStoreListingLocale } from '../../domain/storeListing/normalizeStoreListingLocale';\nimport type { ProjectDeploymentPaths } from '../ProjectDeploymentPaths';\nimport type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';\nimport type { ResolvedProjectStoreListingAssetLocation } from './ResolvedProjectStoreListingAssetLocation';\n\nexport function resolveProjectStoreListingAssetLocation(\n paths: ProjectDeploymentPaths,\n location: ProjectStoreListingAssetLocation,\n): ResolvedProjectStoreListingAssetLocation {\n if (location.kind === 'android-shared') {\n const filename = location.variant === 'icon' ? 'icon.png' : 'feature.png';\n return {\n filePath: path.join(paths.androidAssetsRoot, filename),\n filename,\n cleanupDirectories: [],\n };\n }\n\n const locale = normalizeStoreListingLocale(location.locale);\n assertPathSegment(location.variant);\n assertImageFilename(location.filename);\n const root =\n location.target === 'android' ? paths.androidScreenshotsRoot : paths.iosScreenshotsRoot;\n const localeRoot = path.join(root, locale);\n const variantRoot = path.join(localeRoot, location.variant);\n return {\n filePath: path.join(variantRoot, location.filename),\n filename: location.filename,\n locale,\n cleanupDirectories: [variantRoot, localeRoot],\n };\n}\n\nfunction assertPathSegment(value: string): void {\n if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(value) || value === '.' || value === '..') {\n throw new Error('STORE_LISTING_ASSET_PATH_INVALID');\n }\n}\n\nfunction assertImageFilename(value: string): void {\n assertPathSegment(value);\n if (!/\\.(png|jpe?g)$/i.test(value)) {\n throw new Error('STORE_LISTING_ASSET_TYPE_UNSUPPORTED');\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProjectStoreListing } from './ProjectStoreListing';
|
|
2
|
+
import type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';
|
|
3
|
+
export declare function writeProjectStoreListingAsset(options: {
|
|
4
|
+
readonly projectRoot: string;
|
|
5
|
+
readonly location: ProjectStoreListingAssetLocation;
|
|
6
|
+
readonly data: Uint8Array;
|
|
7
|
+
}): Promise<ProjectStoreListing>;
|
|
8
|
+
//# sourceMappingURL=writeProjectStoreListingAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectStoreListingAsset.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/writeProjectStoreListingAsset.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAI3F,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAa/B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { atomicWriteFile } from '../io/atomicWriteFile';
|
|
2
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
3
|
+
import { assertStoreListingAssetBytes } from './assertStoreListingAssetBytes';
|
|
4
|
+
import { assertStoreListingAssetLocale } from './assertStoreListingAssetLocale';
|
|
5
|
+
import { readProjectStoreListing } from './readProjectStoreListing';
|
|
6
|
+
import { resolveProjectStoreListingAssetLocation } from './resolveProjectStoreListingAssetLocation';
|
|
7
|
+
export async function writeProjectStoreListingAsset(options) {
|
|
8
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
9
|
+
const resolved = resolveProjectStoreListingAssetLocation(paths, options.location);
|
|
10
|
+
if (resolved.locale !== undefined) {
|
|
11
|
+
await assertStoreListingAssetLocale(paths.listingRoot, resolved.locale);
|
|
12
|
+
}
|
|
13
|
+
assertStoreListingAssetBytes(resolved.filename, options.data);
|
|
14
|
+
await atomicWriteFile({
|
|
15
|
+
projectRoot: paths.projectRoot,
|
|
16
|
+
filePath: resolved.filePath,
|
|
17
|
+
data: options.data,
|
|
18
|
+
});
|
|
19
|
+
return readProjectStoreListing({ projectRoot: paths.projectRoot });
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=writeProjectStoreListingAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectStoreListingAsset.js","sourceRoot":"","sources":["../../../src/project/storeListing/writeProjectStoreListingAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAGhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAInD;IACC,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,uCAAuC,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,6BAA6B,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IACD,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,eAAe,CAAC;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { atomicWriteFile } from '../io/atomicWriteFile';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport { assertStoreListingAssetBytes } from './assertStoreListingAssetBytes';\nimport { assertStoreListingAssetLocale } from './assertStoreListingAssetLocale';\nimport type { ProjectStoreListing } from './ProjectStoreListing';\nimport type { ProjectStoreListingAssetLocation } from './ProjectStoreListingAssetLocation';\nimport { readProjectStoreListing } from './readProjectStoreListing';\nimport { resolveProjectStoreListingAssetLocation } from './resolveProjectStoreListingAssetLocation';\n\nexport async function writeProjectStoreListingAsset(options: {\n readonly projectRoot: string;\n readonly location: ProjectStoreListingAssetLocation;\n readonly data: Uint8Array;\n}): Promise<ProjectStoreListing> {\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n const resolved = resolveProjectStoreListingAssetLocation(paths, options.location);\n if (resolved.locale !== undefined) {\n await assertStoreListingAssetLocale(paths.listingRoot, resolved.locale);\n }\n assertStoreListingAssetBytes(resolved.filename, options.data);\n await atomicWriteFile({\n projectRoot: paths.projectRoot,\n filePath: resolved.filePath,\n data: options.data,\n });\n return readProjectStoreListing({ projectRoot: paths.projectRoot });\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StoreListingLocale } from '../../domain/storeListing/StoreListingLocale';
|
|
2
|
+
import type { ProjectStoreListing } from './ProjectStoreListing';
|
|
3
|
+
export declare function writeProjectStoreListingLocale(options: {
|
|
4
|
+
readonly projectRoot: string;
|
|
5
|
+
readonly locale: StoreListingLocale;
|
|
6
|
+
}): Promise<ProjectStoreListing>;
|
|
7
|
+
//# sourceMappingURL=writeProjectStoreListingLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectStoreListingLocale.d.ts","sourceRoot":"","sources":["../../../src/project/storeListing/writeProjectStoreListingLocale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAIvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAS/B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { atomicWriteJson } from '../io/atomicWriteJson';
|
|
3
|
+
import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
|
|
4
|
+
import { parseStoreListingLocale } from './parseStoreListingLocale';
|
|
5
|
+
import { readProjectStoreListing } from './readProjectStoreListing';
|
|
6
|
+
export async function writeProjectStoreListingLocale(options) {
|
|
7
|
+
const normalized = parseStoreListingLocale(options.locale, options.locale.locale);
|
|
8
|
+
const paths = resolveProjectDeploymentPaths(options.projectRoot);
|
|
9
|
+
await atomicWriteJson({
|
|
10
|
+
projectRoot: paths.projectRoot,
|
|
11
|
+
filePath: path.join(paths.listingRoot, `${normalized.locale}.json`),
|
|
12
|
+
value: normalized,
|
|
13
|
+
});
|
|
14
|
+
return readProjectStoreListing({ projectRoot: paths.projectRoot });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=writeProjectStoreListingLocale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProjectStoreListingLocale.js","sourceRoot":"","sources":["../../../src/project/storeListing/writeProjectStoreListingLocale.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAGpD;IACC,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,eAAe,CAAC;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,MAAM,OAAO,CAAC;QACnE,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import path from 'node:path';\n\nimport type { StoreListingLocale } from '../../domain/storeListing/StoreListingLocale';\nimport { atomicWriteJson } from '../io/atomicWriteJson';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport { parseStoreListingLocale } from './parseStoreListingLocale';\nimport type { ProjectStoreListing } from './ProjectStoreListing';\nimport { readProjectStoreListing } from './readProjectStoreListing';\n\nexport async function writeProjectStoreListingLocale(options: {\n readonly projectRoot: string;\n readonly locale: StoreListingLocale;\n}): Promise<ProjectStoreListing> {\n const normalized = parseStoreListingLocale(options.locale, options.locale.locale);\n const paths = resolveProjectDeploymentPaths(options.projectRoot);\n await atomicWriteJson({\n projectRoot: paths.projectRoot,\n filePath: path.join(paths.listingRoot, `${normalized.locale}.json`),\n value: normalized,\n });\n return readProjectStoreListing({ projectRoot: paths.projectRoot });\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/deploy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
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": {
|