@webiny/project-aws 6.0.0-rc.7 → 6.1.0-beta.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.
Files changed (65) hide show
  1. package/_templates/appTemplates/api/graphql/package.json +3 -5
  2. package/_templates/appTemplates/api/graphql/src/index.ts +2 -0
  3. package/_templates/extensions/OpenSearch/api/graphql/src/index.ts +6 -4
  4. package/_templates/extensions/OpenSearch/coreDdbToEsHandler/dynamoToElastic/src/index.ts +6 -7
  5. package/abstractions/services/ApiStackOutputService.d.ts +0 -1
  6. package/abstractions/services/ApiStackOutputService.js.map +1 -1
  7. package/admin.d.ts +4 -16
  8. package/api.d.ts +4 -16
  9. package/apps/createApiApp.d.ts +0 -3
  10. package/cli.d.ts +2 -6
  11. package/exports/{infra/index.d.ts → infra.d.ts} +1 -1
  12. package/exports/{infra/index.js → infra.js} +2 -2
  13. package/exports/{infra/index.js.map → infra.js.map} +1 -1
  14. package/extensions/ApiLambdaFunction.d.ts +3 -9
  15. package/extensions/AwsDefaultRegion.d.ts +1 -5
  16. package/extensions/OpenSearch.d.ts +1 -11
  17. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +4 -0
  18. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
  19. package/extensions/ProjectAws/AutoInstall.d.ts +2 -26
  20. package/extensions/ProjectAws/BuildAppWorkspace.js +1 -1
  21. package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
  22. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.d.ts +10 -0
  23. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +40 -0
  24. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -0
  25. package/extensions/ProjectAws.js +3 -2
  26. package/extensions/ProjectAws.js.map +1 -1
  27. package/infra.d.ts +80 -348
  28. package/infra.js +5 -1
  29. package/infra.js.map +1 -1
  30. package/package.json +16 -18
  31. package/project.d.ts +10 -116
  32. package/pulumi/apps/api/ApiOutput.d.ts +0 -1
  33. package/pulumi/apps/api/ApiOutput.js +0 -1
  34. package/pulumi/apps/api/ApiOutput.js.map +1 -1
  35. package/pulumi/apps/api/createApiPulumiApp.d.ts +0 -3
  36. package/pulumi/apps/api/createApiPulumiApp.js +1 -4
  37. package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
  38. package/pulumi/apps/api/index.d.ts +0 -1
  39. package/pulumi/apps/api/index.js +0 -1
  40. package/pulumi/apps/api/index.js.map +1 -1
  41. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.d.ts +6 -6
  42. package/pulumi/extensions/AdminCustomDomains.d.ts +6 -11
  43. package/pulumi/extensions/AwsTags.d.ts +1 -5
  44. package/pulumi/extensions/AwsTags.js +1 -1
  45. package/pulumi/extensions/AwsTags.js.map +1 -1
  46. package/pulumi/extensions/BlueGreenDeployments.d.ts +17 -115
  47. package/pulumi/extensions/BlueGreenDeployments.js +7 -4
  48. package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
  49. package/pulumi/extensions/OpenSearch.d.ts +1 -11
  50. package/pulumi/extensions/Vpc.d.ts +8 -64
  51. package/pulumi/extensions/index.d.ts +29 -187
  52. package/pulumi/types.d.ts +0 -1
  53. package/pulumi/types.js.map +1 -1
  54. package/utils/getTemplatesFolderPath.js +2 -2
  55. package/utils/getTemplatesFolderPath.js.map +1 -1
  56. package/_templates/appTemplates/api/migration/src/index.ts +0 -23
  57. package/_templates/appTemplates/api/migration/tsconfig.json +0 -6
  58. package/_templates/appTemplates/api/migration/webiny.config.ts +0 -8
  59. package/_templates/extensions/OpenSearch/api/migration/src/index.ts +0 -33
  60. package/extensions/ProjectAws/ExecuteDataMigrations.d.ts +0 -16
  61. package/extensions/ProjectAws/ExecuteDataMigrations.js +0 -69
  62. package/extensions/ProjectAws/ExecuteDataMigrations.js.map +0 -1
  63. package/pulumi/apps/api/ApiMigration.d.ts +0 -5
  64. package/pulumi/apps/api/ApiMigration.js +0 -82
  65. package/pulumi/apps/api/ApiMigration.js.map +0 -1
@@ -11,7 +11,7 @@
11
11
  "@webiny/api-core": "latest",
12
12
  "@webiny/api-core-ddb": "latest",
13
13
  "@webiny/api-dynamodb-to-elasticsearch": "latest",
14
- "@webiny/api-elasticsearch": "latest",
14
+ "@webiny/api-opensearch": "latest",
15
15
  "@webiny/api-file-manager": "latest",
16
16
  "@webiny/api-file-manager-aco": "latest",
17
17
  "@webiny/api-file-manager-s3": "latest",
@@ -27,17 +27,15 @@
27
27
  "@webiny/api-record-locking": "latest",
28
28
  "@webiny/api-scheduler": "latest",
29
29
  "@webiny/api-website-builder": "latest",
30
+ "@webiny/api-website-builder-scheduler": "latest",
30
31
  "@webiny/api-website-builder-workflows": "latest",
31
32
  "@webiny/api-websockets": "latest",
32
33
  "@webiny/api-workflows": "latest",
33
34
  "@webiny/aws-sdk": "latest",
34
35
  "@webiny/build-tools": "latest",
35
- "@webiny/data-migration": "latest",
36
36
  "@webiny/db-dynamodb": "latest",
37
37
  "@webiny/handler-aws": "latest",
38
- "@webiny/handler-client": "latest",
39
38
  "@webiny/handler-db": "latest",
40
- "@webiny/handler-graphql": "latest",
41
- "@webiny/migrations": "latest"
39
+ "@webiny/handler-graphql": "latest"
42
40
  }
43
41
  }
@@ -27,6 +27,7 @@ import { createMailerContext, createMailerGraphQL } from "@webiny/api-mailer";
27
27
  import { createWorkflows } from "@webiny/api-workflows";
28
28
  import { createHeadlessCmsWorkflows } from "@webiny/api-headless-cms-workflows";
29
29
  import { createWebsiteBuilderWorkflows } from "@webiny/api-website-builder-workflows";
30
+ import { createWebsiteBuilderScheduler } from "@webiny/api-website-builder-scheduler";
30
31
 
31
32
  import { extensions } from "./extensions";
32
33
 
@@ -74,6 +75,7 @@ export const handler = createHandler({
74
75
  }
75
76
  }),
76
77
  createHeadlessCmsScheduler(),
78
+ createWebsiteBuilderScheduler(),
77
79
  extensions()
78
80
  ],
79
81
  debug
@@ -6,7 +6,7 @@ import { createApiCoreDdb } from "@webiny/api-core-ddb";
6
6
  import dbPlugins from "@webiny/handler-db";
7
7
  import { DynamoDbDriver } from "@webiny/db-dynamodb";
8
8
  import dynamoDbPlugins from "@webiny/db-dynamodb/plugins";
9
- import elasticsearchClientContext, { createElasticsearchClient } from "@webiny/api-elasticsearch";
9
+ import { createOpenSearchContext, createOpenSearchClient } from "@webiny/api-opensearch";
10
10
  import { createFileManagerContext, createFileManagerGraphQL } from "@webiny/api-file-manager";
11
11
  import { createFileManagerAco } from "@webiny/api-file-manager-aco";
12
12
  import { createAssetDelivery, createFileManagerS3 } from "@webiny/api-file-manager-s3";
@@ -28,6 +28,7 @@ import { createMailerContext, createMailerGraphQL } from "@webiny/api-mailer";
28
28
  import { createWorkflows } from "@webiny/api-workflows";
29
29
  import { createHeadlessCmsWorkflows } from "@webiny/api-headless-cms-workflows";
30
30
  import { createWebsiteBuilderWorkflows } from "@webiny/api-website-builder-workflows";
31
+ import { createWebsiteBuilderScheduler } from "@webiny/api-website-builder-scheduler";
31
32
 
32
33
  import { extensions } from "./extensions";
33
34
 
@@ -35,7 +36,7 @@ const debug = process.env.DEBUG === "true";
35
36
 
36
37
  const documentClient = getDocumentClient();
37
38
 
38
- const elasticsearchClient = createElasticsearchClient({
39
+ const openSearchClient = createOpenSearchClient({
39
40
  endpoint: `https://${process.env.OPENSEARCH_ENDPOINT}`
40
41
  });
41
42
 
@@ -46,7 +47,7 @@ export const handler = createHandler({
46
47
  }),
47
48
  dynamoDbPlugins(),
48
49
  graphqlPlugins({ debug }),
49
- elasticsearchClientContext(elasticsearchClient),
50
+ createOpenSearchContext(openSearchClient),
50
51
  dbPlugins({
51
52
  table: process.env.DB_TABLE,
52
53
  driver: new DynamoDbDriver({ documentClient })
@@ -56,7 +57,7 @@ export const handler = createHandler({
56
57
  createHeadlessCmsContext({
57
58
  storageOperations: createHeadlessCmsStorageOperations({
58
59
  documentClient,
59
- elasticsearch: elasticsearchClient,
60
+ elasticsearch: openSearchClient,
60
61
  plugins: []
61
62
  })
62
63
  }),
@@ -84,6 +85,7 @@ export const handler = createHandler({
84
85
  }
85
86
  }),
86
87
  createHeadlessCmsScheduler(),
88
+ createWebsiteBuilderScheduler(),
87
89
  extensions()
88
90
  ],
89
91
  debug
@@ -1,14 +1,13 @@
1
1
  import { createHandler } from "@webiny/handler-aws";
2
- import elasticsearchClientContextPlugin from "@webiny/api-elasticsearch";
2
+ import { createOpenSearchClient, createOpenSearchContext } from "@webiny/api-opensearch";
3
3
  import { createEventHandler } from "@webiny/api-dynamodb-to-elasticsearch";
4
4
 
5
+ const client = createOpenSearchClient({
6
+ endpoint: `https://${process.env.OPENSEARCH_ENDPOINT}`
7
+ });
8
+
5
9
  export const handler = createHandler({
6
- plugins: [
7
- elasticsearchClientContextPlugin({
8
- endpoint: `https://${process.env.OPENSEARCH_ENDPOINT}`
9
- }),
10
- createEventHandler()
11
- ],
10
+ plugins: [createOpenSearchContext(client), createEventHandler()],
12
11
  options: {
13
12
  bodyLimit: 536870912 // 512MB
14
13
  }
@@ -10,7 +10,6 @@ export interface IApiStackOutput {
10
10
  region?: string;
11
11
  websocketApiId?: string;
12
12
  websocketApiUrl?: string;
13
- migrationLambdaArn?: string;
14
13
  graphqlLambdaName?: string;
15
14
  backgroundTaskLambdaArn?: string;
16
15
  backgroundTaskStepFunctionArn?: string;
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ApiStackOutputService"],"sources":["ApiStackOutputService.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/project/abstractions/createAbstraction.js\";\n\nexport interface IApiStackOutput {\n apiDomain?: string;\n apiUrl?: string;\n graphqlLambdaRole?: string;\n graphqlLambdaRoleName?: string;\n cognitoAppClientId?: string;\n cognitoUserPoolId?: string;\n cognitoUserPoolPasswordPolicy?: string;\n dynamoDbTable?: string;\n region?: string;\n websocketApiId?: string;\n websocketApiUrl?: string;\n migrationLambdaArn?: string;\n graphqlLambdaName?: string;\n backgroundTaskLambdaArn?: string;\n backgroundTaskStepFunctionArn?: string;\n fileManagerManageLambdaArn?: string;\n fileManagerManageLambdaRole?: string;\n fileManagerManageLambdaRoleName?: string;\n fileManagerDownloadLambdaArn?: string;\n [key: string]: any;\n}\n\nexport interface IApiStackOutputService {\n execute<TOutput extends IApiStackOutput = IApiStackOutput>(): Promise<TOutput | null>;\n}\n\nexport const ApiStackOutputService =\n createAbstraction<IApiStackOutputService>(\"ApiStackOutputService\");\n\nexport namespace ApiStackOutputService {\n export type Interface = IApiStackOutputService;\n export type Output = IApiStackOutput;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,mDAAmD;AA6BrF,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ApiStackOutputService"],"sources":["ApiStackOutputService.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/project/abstractions/createAbstraction.js\";\n\nexport interface IApiStackOutput {\n apiDomain?: string;\n apiUrl?: string;\n graphqlLambdaRole?: string;\n graphqlLambdaRoleName?: string;\n cognitoAppClientId?: string;\n cognitoUserPoolId?: string;\n cognitoUserPoolPasswordPolicy?: string;\n dynamoDbTable?: string;\n region?: string;\n websocketApiId?: string;\n websocketApiUrl?: string;\n graphqlLambdaName?: string;\n backgroundTaskLambdaArn?: string;\n backgroundTaskStepFunctionArn?: string;\n fileManagerManageLambdaArn?: string;\n fileManagerManageLambdaRole?: string;\n fileManagerManageLambdaRoleName?: string;\n fileManagerDownloadLambdaArn?: string;\n [key: string]: any;\n}\n\nexport interface IApiStackOutputService {\n execute<TOutput extends IApiStackOutput = IApiStackOutput>(): Promise<TOutput | null>;\n}\n\nexport const ApiStackOutputService =\n createAbstraction<IApiStackOutputService>(\"ApiStackOutputService\");\n\nexport namespace ApiStackOutputService {\n export type Interface = IApiStackOutputService;\n export type Output = IApiStackOutput;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,mDAAmD;AA4BrF,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
package/admin.d.ts CHANGED
@@ -1,22 +1,10 @@
1
1
  export declare const Admin: {
2
2
  Extension: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<import("zod").ZodObject<{
3
- src: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
3
+ src: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
4
4
  exportName: import("zod").ZodOptional<import("zod").ZodString>;
5
- }, "strip", import("zod").ZodTypeAny, {
6
- src: string;
7
- exportName?: string | undefined;
8
- }, {
9
- src: string;
10
- exportName?: string | undefined;
11
- }>>;
5
+ }, import("zod/v4/core").$strip>>;
12
6
  BuildParam: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<import("zod").ZodObject<{
13
7
  paramName: import("zod").ZodString;
14
- value: import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, import("zod").ZodArray<import("zod").ZodAny, "many">, import("zod").ZodNumber, import("zod").ZodBoolean]>;
15
- }, "strip", import("zod").ZodTypeAny, {
16
- value: string | number | boolean | any[] | Record<string, any>;
17
- paramName: string;
18
- }, {
19
- value: string | number | boolean | any[] | Record<string, any>;
20
- paramName: string;
21
- }>>;
8
+ value: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, import("zod").ZodArray<import("zod").ZodAny>, import("zod").ZodNumber, import("zod").ZodBoolean]>;
9
+ }, import("zod/v4/core").$strip>>;
22
10
  };
package/api.d.ts CHANGED
@@ -1,22 +1,10 @@
1
1
  export declare const Api: {
2
2
  Extension: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<import("zod").ZodObject<{
3
- src: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
3
+ src: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
4
4
  exportName: import("zod").ZodOptional<import("zod").ZodString>;
5
- }, "strip", import("zod").ZodTypeAny, {
6
- src: string;
7
- exportName?: string | undefined;
8
- }, {
9
- src: string;
10
- exportName?: string | undefined;
11
- }>>;
5
+ }, import("zod/v4/core").$strip>>;
12
6
  BuildParam: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<import("zod").ZodObject<{
13
7
  paramName: import("zod").ZodString;
14
- value: import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, import("zod").ZodArray<import("zod").ZodAny, "many">, import("zod").ZodNumber, import("zod").ZodBoolean]>;
15
- }, "strip", import("zod").ZodTypeAny, {
16
- value: string | number | boolean | any[] | Record<string, any>;
17
- paramName: string;
18
- }, {
19
- value: string | number | boolean | any[] | Record<string, any>;
20
- paramName: string;
21
- }>>;
8
+ value: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, import("zod").ZodArray<import("zod").ZodAny>, import("zod").ZodNumber, import("zod").ZodBoolean]>;
9
+ }, import("zod/v4/core").$strip>>;
22
10
  };
@@ -44,9 +44,6 @@ export declare function createApiApp(): {
44
44
  websocketApiUrl: import("@pulumi/pulumi").Output<string>;
45
45
  };
46
46
  cloudfront: import("@webiny/pulumi/PulumiAppResource").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/distribution").Distribution>;
47
- migration: {
48
- function: import("@webiny/pulumi/PulumiAppResource").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
49
- };
50
47
  backgroundTask: {
51
48
  backgroundTask: import("@webiny/pulumi/PulumiAppResource").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
52
49
  stepFunction: import("@webiny/pulumi/PulumiAppResource").PulumiAppResource<typeof import("@pulumi/aws/sfn/stateMachine").StateMachine>;
package/cli.d.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  export declare const Cli: {
2
2
  Command: import("@webiny/project/defineExtension").ExtensionComponent<import("zod").ZodObject<{
3
- src: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
4
- }, "strip", import("zod").ZodTypeAny, {
5
- src: string;
6
- }, {
7
- src: string;
8
- }>>;
3
+ src: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
4
+ }, import("zod/v4/core").$strip>>;
9
5
  };
@@ -1 +1 @@
1
- export { ApiStackOutputService as ApiStackOutput, CoreStackOutputService as CoreStackOutput, ApiGqlClient, AdminStackOutputService as AdminStackOutput, InvokeLambdaFunction } from "../../abstractions/index.js";
1
+ export { ApiStackOutputService as ApiStackOutput, CoreStackOutputService as CoreStackOutput, ApiGqlClient, AdminStackOutputService as AdminStackOutput, InvokeLambdaFunction } from "../abstractions/index.js";
@@ -1,3 +1,3 @@
1
- export { ApiStackOutputService as ApiStackOutput, CoreStackOutputService as CoreStackOutput, ApiGqlClient, AdminStackOutputService as AdminStackOutput, InvokeLambdaFunction } from "../../abstractions/index.js";
1
+ export { ApiStackOutputService as ApiStackOutput, CoreStackOutputService as CoreStackOutput, ApiGqlClient, AdminStackOutputService as AdminStackOutput, InvokeLambdaFunction } from "../abstractions/index.js";
2
2
 
3
- //# sourceMappingURL=index.js.map
3
+ //# sourceMappingURL=infra.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ApiStackOutputService","ApiStackOutput","CoreStackOutputService","CoreStackOutput","ApiGqlClient","AdminStackOutputService","AdminStackOutput","InvokeLambdaFunction"],"sources":["index.ts"],"sourcesContent":["export {\n ApiStackOutputService as ApiStackOutput,\n CoreStackOutputService as CoreStackOutput,\n ApiGqlClient,\n AdminStackOutputService as AdminStackOutput,\n InvokeLambdaFunction\n} from \"~/abstractions/index.js\";\n"],"mappings":"AAAA,SACIA,qBAAqB,IAAIC,cAAc,EACvCC,sBAAsB,IAAIC,eAAe,EACzCC,YAAY,EACZC,uBAAuB,IAAIC,gBAAgB,EAC3CC,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["ApiStackOutputService","ApiStackOutput","CoreStackOutputService","CoreStackOutput","ApiGqlClient","AdminStackOutputService","AdminStackOutput","InvokeLambdaFunction"],"sources":["infra.ts"],"sourcesContent":["export {\n ApiStackOutputService as ApiStackOutput,\n CoreStackOutputService as CoreStackOutput,\n ApiGqlClient,\n AdminStackOutputService as AdminStackOutput,\n InvokeLambdaFunction\n} from \"~/abstractions/index.js\";\n"],"mappings":"AAAA,SACIA,qBAAqB,IAAIC,cAAc,EACvCC,sBAAsB,IAAIC,eAAe,EACzCC,YAAY,EACZC,uBAAuB,IAAIC,gBAAgB,EAC3CC,oBAAoB","ignoreList":[]}
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const ApiLambdaFunction: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<z.ZodObject<{
3
- functionSrc: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
4
- pulumiSrc: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
5
- }, "strip", z.ZodTypeAny, {
6
- functionSrc: string;
7
- pulumiSrc: string;
8
- }, {
9
- functionSrc: string;
10
- pulumiSrc: string;
11
- }>>;
3
+ functionSrc: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ pulumiSrc: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const AwsDefaultRegion: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<z.ZodObject<{
3
3
  name: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- name: string;
6
- }, {
7
- name: string;
8
- }>>;
4
+ }, z.core.$strip>>;
@@ -4,14 +4,4 @@ export declare const OpenSearch: import("@webiny/project/defineExtension/defineE
4
4
  domainName: z.ZodOptional<z.ZodString>;
5
5
  indexPrefix: z.ZodOptional<z.ZodString>;
6
6
  sharedIndexes: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7
- }, "strip", z.ZodTypeAny, {
8
- enabled?: boolean | undefined;
9
- domainName?: string | undefined;
10
- indexPrefix?: string | undefined;
11
- sharedIndexes?: boolean | undefined;
12
- }, {
13
- enabled?: boolean | undefined;
14
- domainName?: string | undefined;
15
- indexPrefix?: string | undefined;
16
- sharedIndexes?: boolean | undefined;
17
- }>>;
7
+ }, z.core.$strip>>;
@@ -66,6 +66,10 @@ class AutoInstallAfterApiDeployImpl {
66
66
  return;
67
67
  }
68
68
  this.ui.info("Auto-installing...");
69
+ /**
70
+ * Type Error introduced with Zod v4. V3 had any type.
71
+ */
72
+ // @ts-expect-error
69
73
  const adminUser = config.adminUser || {
70
74
  firstName: "John",
71
75
  lastName: "Smith",
@@ -1 +1 @@
1
- {"version":3,"names":["ApiAfterDeploy","UiService","LoggerService","GetProjectConfigService","ApiGqlClient","IS_INSTALLED_QUERY","INSTALL_MUTATION","AutoInstallAfterApiDeployImpl","constructor","apiGqlClient","ui","getProjectConfig","logger","execute","params","preview","projectConfig","adminAutoInstallExtensions","extensionsByType","length","config","info","isInstalledResponse","query","data","system","isSystemInstalled","error","warning","message","adminUser","firstName","lastName","email","password","variables","installationInput","app","installResponse","mutation","installSystem","code","Error","success","AutoInstallAfterApiDeploy","createImplementation","implementation","dependencies"],"sources":["AutoInstallAfterApiDeploy.ts"],"sourcesContent":["import { ApiAfterDeploy } from \"@webiny/project/abstractions/index.js\";\nimport { UiService } from \"@webiny/project/abstractions/services/UiService.js\";\nimport { LoggerService } from \"@webiny/project/abstractions/services/LoggerService.js\";\nimport { GetProjectConfigService } from \"@webiny/project/abstractions\";\nimport { ApiGqlClient } from \"~/abstractions/ApiGqlClient.js\";\n\nconst IS_INSTALLED_QUERY = `\n query IsSystemInstalled {\n system {\n isSystemInstalled {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\nconst INSTALL_MUTATION = `\n mutation InstallSystem($installationInput: JSON!) {\n system {\n installSystem(installationInput: $installationInput) {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\ninterface IsInstalledResponse {\n system: {\n isSystemInstalled: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\ninterface InstallResponse {\n system: {\n installSystem: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\nclass AutoInstallAfterApiDeployImpl implements ApiAfterDeploy.Interface {\n constructor(\n private apiGqlClient: ApiGqlClient.Interface,\n private ui: UiService.Interface,\n private getProjectConfig: GetProjectConfigService.Interface,\n private logger: LoggerService.Interface\n ) {}\n\n async execute(params: ApiAfterDeploy.Params): Promise<void> {\n if (params.preview) {\n // Skip auto-install on preview deployments\n return;\n }\n\n const projectConfig = await this.getProjectConfig.execute();\n const adminAutoInstallExtensions = projectConfig.extensionsByType(\"Project/AutoInstall\");\n\n if (adminAutoInstallExtensions.length === 0) {\n return;\n }\n\n const config = adminAutoInstallExtensions[0].params;\n\n // Check if system is already installed\n this.ui.info(\"Checking if system is already installed...\");\n\n try {\n const isInstalledResponse = await this.apiGqlClient.query<IsInstalledResponse>({\n query: IS_INSTALLED_QUERY\n });\n\n if (isInstalledResponse.data?.system.isSystemInstalled.data === true) {\n this.ui.info(\"System is already installed, skipping auto-install.\");\n return;\n }\n } catch (error: any) {\n this.logger.error(\"Failed to check installation status\", { error });\n this.ui.warning(`Could not check installation status: ${error.message}`);\n return;\n }\n\n this.ui.info(\"Auto-installing...\");\n\n const adminUser = config.adminUser || {\n firstName: \"John\",\n lastName: \"Smith\",\n email: \"admin@webiny.com\",\n password: \"12345678\"\n };\n\n const variables = {\n installationInput: [\n {\n app: \"Cognito\",\n data: adminUser\n }\n ]\n };\n\n const installResponse = await this.apiGqlClient.mutation<InstallResponse>({\n mutation: INSTALL_MUTATION,\n variables\n });\n\n if (installResponse.data?.system.installSystem.error) {\n const { message, code } = installResponse.data.system.installSystem.error;\n this.logger.error(\"Installation failed\", { message, code });\n this.ui.error(`Installation failed: ${message} (${code})`);\n throw new Error(message);\n }\n\n this.ui.success(\"System installed successfully!\");\n this.ui.info(\"Admin credentials:\");\n this.ui.info(` Email: ${adminUser.email}`);\n this.ui.info(` Password: ${adminUser.password}`);\n }\n}\n\nexport const AutoInstallAfterApiDeploy = ApiAfterDeploy.createImplementation({\n implementation: AutoInstallAfterApiDeployImpl,\n dependencies: [ApiGqlClient, UiService, GetProjectConfigService, LoggerService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ApiAfterDeploy","UiService","LoggerService","GetProjectConfigService","ApiGqlClient","IS_INSTALLED_QUERY","INSTALL_MUTATION","AutoInstallAfterApiDeployImpl","constructor","apiGqlClient","ui","getProjectConfig","logger","execute","params","preview","projectConfig","adminAutoInstallExtensions","extensionsByType","length","config","info","isInstalledResponse","query","data","system","isSystemInstalled","error","warning","message","adminUser","firstName","lastName","email","password","variables","installationInput","app","installResponse","mutation","installSystem","code","Error","success","AutoInstallAfterApiDeploy","createImplementation","implementation","dependencies"],"sources":["AutoInstallAfterApiDeploy.ts"],"sourcesContent":["import { ApiAfterDeploy } from \"@webiny/project/abstractions/index.js\";\nimport { UiService } from \"@webiny/project/abstractions/services/UiService.js\";\nimport { LoggerService } from \"@webiny/project/abstractions/services/LoggerService.js\";\nimport { GetProjectConfigService } from \"@webiny/project/abstractions\";\nimport { ApiGqlClient } from \"~/abstractions/ApiGqlClient.js\";\n\nconst IS_INSTALLED_QUERY = `\n query IsSystemInstalled {\n system {\n isSystemInstalled {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\nconst INSTALL_MUTATION = `\n mutation InstallSystem($installationInput: JSON!) {\n system {\n installSystem(installationInput: $installationInput) {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\ninterface IsInstalledResponse {\n system: {\n isSystemInstalled: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\ninterface InstallResponse {\n system: {\n installSystem: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\nclass AutoInstallAfterApiDeployImpl implements ApiAfterDeploy.Interface {\n constructor(\n private apiGqlClient: ApiGqlClient.Interface,\n private ui: UiService.Interface,\n private getProjectConfig: GetProjectConfigService.Interface,\n private logger: LoggerService.Interface\n ) {}\n\n async execute(params: ApiAfterDeploy.Params): Promise<void> {\n if (params.preview) {\n // Skip auto-install on preview deployments\n return;\n }\n\n const projectConfig = await this.getProjectConfig.execute();\n const adminAutoInstallExtensions = projectConfig.extensionsByType(\"Project/AutoInstall\");\n\n if (adminAutoInstallExtensions.length === 0) {\n return;\n }\n\n const config = adminAutoInstallExtensions[0].params;\n\n // Check if system is already installed\n this.ui.info(\"Checking if system is already installed...\");\n\n try {\n const isInstalledResponse = await this.apiGqlClient.query<IsInstalledResponse>({\n query: IS_INSTALLED_QUERY\n });\n\n if (isInstalledResponse.data?.system.isSystemInstalled.data === true) {\n this.ui.info(\"System is already installed, skipping auto-install.\");\n return;\n }\n } catch (error: any) {\n this.logger.error(\"Failed to check installation status\", { error });\n this.ui.warning(`Could not check installation status: ${error.message}`);\n return;\n }\n\n this.ui.info(\"Auto-installing...\");\n /**\n * Type Error introduced with Zod v4. V3 had any type.\n */\n // @ts-expect-error\n const adminUser = config.adminUser || {\n firstName: \"John\",\n lastName: \"Smith\",\n email: \"admin@webiny.com\",\n password: \"12345678\"\n };\n\n const variables = {\n installationInput: [\n {\n app: \"Cognito\",\n data: adminUser\n }\n ]\n };\n\n const installResponse = await this.apiGqlClient.mutation<InstallResponse>({\n mutation: INSTALL_MUTATION,\n variables\n });\n\n if (installResponse.data?.system.installSystem.error) {\n const { message, code } = installResponse.data.system.installSystem.error;\n this.logger.error(\"Installation failed\", { message, code });\n this.ui.error(`Installation failed: ${message} (${code})`);\n throw new Error(message);\n }\n\n this.ui.success(\"System installed successfully!\");\n this.ui.info(\"Admin credentials:\");\n this.ui.info(` Email: ${adminUser.email}`);\n this.ui.info(` Password: ${adminUser.password}`);\n }\n}\n\nexport const AutoInstallAfterApiDeploy = ApiAfterDeploy.createImplementation({\n implementation: AutoInstallAfterApiDeployImpl,\n dependencies: [ApiGqlClient, UiService, GetProjectConfigService, LoggerService]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -5,29 +5,5 @@ export declare const AutoInstall: import("@webiny/project/defineExtension/define
5
5
  lastName: z.ZodString;
6
6
  email: z.ZodString;
7
7
  password: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- firstName: string;
10
- lastName: string;
11
- email: string;
12
- password: string;
13
- }, {
14
- firstName: string;
15
- lastName: string;
16
- email: string;
17
- password: string;
18
- }>;
19
- }, "strip", z.ZodTypeAny, {
20
- adminUser: {
21
- firstName: string;
22
- lastName: string;
23
- email: string;
24
- password: string;
25
- };
26
- }, {
27
- adminUser: {
28
- firstName: string;
29
- lastName: string;
30
- email: string;
31
- password: string;
32
- };
33
- }>>;
8
+ }, z.core.$strip>;
9
+ }, z.core.$strip>>;
@@ -45,7 +45,7 @@ class BuildAppWorkspaceImpl {
45
45
  const globalCssPath = path.join(publicFolder, "global.css");
46
46
  let globalCss = "";
47
47
  if (fs.existsSync(globalCssPath)) {
48
- const relativePath = path.relative(path.dirname(indexTsx), globalCssPath);
48
+ const relativePath = path.relative(path.dirname(indexTsx), globalCssPath).replace(/\\/g, "/");
49
49
  globalCss = `import "${relativePath}";`;
50
50
  } else {
51
51
  console.log("globalCssPath does not exist");
@@ -1 +1 @@
1
- {"version":3,"names":["path","fs","replaceInPath","BuildAppWorkspaceService","GetApp","LoggerService","getTemplatesFolderPath","wait","Promise","resolve","setTimeout","BuildAppWorkspaceImpl","constructor","getApp","logger","decoratee","execute","appName","options","app","paths","workspaceFolder","existsSync","forceRebuild","debug","info","templatesFolderPath","appWorkspaceFolderPath","toString","appTemplateFolderPath","join","name","cpSync","recursive","publicFolder","process","cwd","indexTsx","globalCssPath","globalCss","relativePath","relative","dirname","console","log","find","replaceWith","BuildAppWorkspace","createDecorator","decorator","dependencies"],"sources":["BuildAppWorkspace.ts"],"sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { replaceInPath } from \"replace-in-path\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService\n} from \"@webiny/project/abstractions/index.js\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nconst wait = () => new Promise(resolve => setTimeout(resolve, 10));\n\nclass BuildAppWorkspaceImpl implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private logger: LoggerService.Interface,\n private decoratee: BuildAppWorkspaceService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options = {}) {\n await this.decoratee.execute(appName, options);\n\n const app = this.getApp.execute(appName);\n\n if (app.paths.workspaceFolder.existsSync()) {\n if (options.forceRebuild !== true) {\n this.logger.debug(\n { appName },\n \"App workspace already exists, skipping rebuild (project-aws).\"\n );\n return;\n }\n }\n\n this.logger.info({ appName, options }, \"Building app workspace (project-aws)...\");\n\n const templatesFolderPath = getTemplatesFolderPath();\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const appTemplateFolderPath = path.join(templatesFolderPath, \"appTemplates\", app.name);\n\n // Create app.\n fs.cpSync(appTemplateFolderPath, appWorkspaceFolderPath, { recursive: true });\n\n // Copy `public` folder into `admin` app workspace folder.\n if (appName === \"admin\") {\n const publicFolder = path.join(process.cwd(), \"public\");\n fs.cpSync(publicFolder, path.join(appWorkspaceFolderPath, \"public\"), {\n recursive: true\n });\n\n await wait();\n\n const indexTsx = app.paths.workspaceFolder.join(\"src\", \"index.tsx\").toString();\n const globalCssPath = path.join(publicFolder, \"global.css\");\n\n let globalCss = \"\";\n\n if (fs.existsSync(globalCssPath)) {\n const relativePath = path.relative(path.dirname(indexTsx), globalCssPath);\n globalCss = `import \"${relativePath}\";`;\n } else {\n console.log(\"globalCssPath does not exist\");\n }\n\n replaceInPath(indexTsx, {\n find: \"{GLOBAL_CSS}\",\n replaceWith: globalCss\n });\n }\n\n this.logger.info(\"App workspace built successfully (project-aws).\");\n }\n}\n\nexport const BuildAppWorkspace = BuildAppWorkspaceService.createDecorator({\n decorator: BuildAppWorkspaceImpl,\n dependencies: [GetApp, LoggerService]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["path","fs","replaceInPath","BuildAppWorkspaceService","GetApp","LoggerService","getTemplatesFolderPath","wait","Promise","resolve","setTimeout","BuildAppWorkspaceImpl","constructor","getApp","logger","decoratee","execute","appName","options","app","paths","workspaceFolder","existsSync","forceRebuild","debug","info","templatesFolderPath","appWorkspaceFolderPath","toString","appTemplateFolderPath","join","name","cpSync","recursive","publicFolder","process","cwd","indexTsx","globalCssPath","globalCss","relativePath","relative","dirname","replace","console","log","find","replaceWith","BuildAppWorkspace","createDecorator","decorator","dependencies"],"sources":["BuildAppWorkspace.ts"],"sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport { replaceInPath } from \"replace-in-path\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService\n} from \"@webiny/project/abstractions/index.js\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nconst wait = () => new Promise(resolve => setTimeout(resolve, 10));\n\nclass BuildAppWorkspaceImpl implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private logger: LoggerService.Interface,\n private decoratee: BuildAppWorkspaceService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options = {}) {\n await this.decoratee.execute(appName, options);\n\n const app = this.getApp.execute(appName);\n\n if (app.paths.workspaceFolder.existsSync()) {\n if (options.forceRebuild !== true) {\n this.logger.debug(\n { appName },\n \"App workspace already exists, skipping rebuild (project-aws).\"\n );\n return;\n }\n }\n\n this.logger.info({ appName, options }, \"Building app workspace (project-aws)...\");\n\n const templatesFolderPath = getTemplatesFolderPath();\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const appTemplateFolderPath = path.join(templatesFolderPath, \"appTemplates\", app.name);\n\n // Create app.\n fs.cpSync(appTemplateFolderPath, appWorkspaceFolderPath, { recursive: true });\n\n // Copy `public` folder into `admin` app workspace folder.\n if (appName === \"admin\") {\n const publicFolder = path.join(process.cwd(), \"public\");\n fs.cpSync(publicFolder, path.join(appWorkspaceFolderPath, \"public\"), {\n recursive: true\n });\n\n await wait();\n\n const indexTsx = app.paths.workspaceFolder.join(\"src\", \"index.tsx\").toString();\n const globalCssPath = path.join(publicFolder, \"global.css\");\n\n let globalCss = \"\";\n\n if (fs.existsSync(globalCssPath)) {\n const relativePath = path\n .relative(path.dirname(indexTsx), globalCssPath)\n .replace(/\\\\/g, \"/\");\n globalCss = `import \"${relativePath}\";`;\n } else {\n console.log(\"globalCssPath does not exist\");\n }\n\n replaceInPath(indexTsx, {\n find: \"{GLOBAL_CSS}\",\n replaceWith: globalCss\n });\n }\n\n this.logger.info(\"App workspace built successfully (project-aws).\");\n }\n}\n\nexport const BuildAppWorkspace = BuildAppWorkspaceService.createDecorator({\n decorator: BuildAppWorkspaceImpl,\n dependencies: [GetApp, LoggerService]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { BeforeDeploy, LoggerService } from "@webiny/project/abstractions/index.js";
2
+ declare class EnsureAwsCredentialsBeforeDeployImpl implements BeforeDeploy.Interface {
3
+ private loggerService;
4
+ constructor(loggerService: LoggerService.Interface);
5
+ execute(): Promise<void>;
6
+ }
7
+ export declare const EnsureAwsCredentialsBeforeDeploy: typeof EnsureAwsCredentialsBeforeDeployImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/index.js").IBeforeDeploy>;
9
+ };
10
+ export {};
@@ -0,0 +1,40 @@
1
+ import { BeforeDeploy, LoggerService } from "@webiny/project/abstractions/index.js";
2
+ import { GracefulError } from "@webiny/project";
3
+ import { STS } from "@webiny/aws-sdk/client-sts";
4
+ class EnsureAwsCredentialsBeforeDeployImpl {
5
+ constructor(loggerService) {
6
+ this.loggerService = loggerService;
7
+ }
8
+ async execute() {
9
+ process.env.AWS_SDK_LOAD_CONFIG = "true";
10
+ const sts = new STS({});
11
+ try {
12
+ await sts.getCallerIdentity({});
13
+ } catch (err) {
14
+ this.loggerService.debug({
15
+ err
16
+ }, "AWS credentials error.");
17
+ throw GracefulError.from(new Error("AWS credentials are not configured correctly."), 'No valid AWS credentials were found. Run "aws configure" or set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables before deploying. Learn more: https://webiny.link/aws-credentials');
18
+ }
19
+ const region = await sts.config.region();
20
+ if (!region) {
21
+ throw GracefulError.from(new Error("AWS region is not defined."), "No AWS region is set. Define the AWS_REGION environment variable or set a default region in your AWS profile. Learn more: https://webiny.link/aws-region");
22
+ }
23
+ process.env.AWS_REGION = region;
24
+ const {
25
+ accessKeyId
26
+ } = await sts.config.credentials();
27
+ const profile = process.env.AWS_PROFILE;
28
+ if (profile) {
29
+ this.loggerService.info(`Using profile "${profile}" in "${region}" region.`);
30
+ } else {
31
+ this.loggerService.info(`Using access key ID "${accessKeyId}" in "${region}" region.`);
32
+ }
33
+ }
34
+ }
35
+ export const EnsureAwsCredentialsBeforeDeploy = BeforeDeploy.createImplementation({
36
+ implementation: EnsureAwsCredentialsBeforeDeployImpl,
37
+ dependencies: [LoggerService]
38
+ });
39
+
40
+ //# sourceMappingURL=EnsureAwsCredentialsBeforeDeploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BeforeDeploy","LoggerService","GracefulError","STS","EnsureAwsCredentialsBeforeDeployImpl","constructor","loggerService","execute","process","env","AWS_SDK_LOAD_CONFIG","sts","getCallerIdentity","err","debug","from","Error","region","config","AWS_REGION","accessKeyId","credentials","profile","AWS_PROFILE","info","EnsureAwsCredentialsBeforeDeploy","createImplementation","implementation","dependencies"],"sources":["EnsureAwsCredentialsBeforeDeploy.ts"],"sourcesContent":["import { BeforeDeploy, LoggerService } from \"@webiny/project/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\nimport { STS } from \"@webiny/aws-sdk/client-sts\";\n\nclass EnsureAwsCredentialsBeforeDeployImpl implements BeforeDeploy.Interface {\n constructor(private loggerService: LoggerService.Interface) {}\n\n async execute() {\n process.env.AWS_SDK_LOAD_CONFIG = \"true\";\n const sts = new STS({});\n\n try {\n await sts.getCallerIdentity({});\n } catch (err) {\n this.loggerService.debug({ err }, \"AWS credentials error.\");\n throw GracefulError.from(\n new Error(\"AWS credentials are not configured correctly.\"),\n 'No valid AWS credentials were found. Run \"aws configure\" or set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables before deploying. Learn more: https://webiny.link/aws-credentials'\n );\n }\n\n const region = await sts.config.region();\n if (!region) {\n throw GracefulError.from(\n new Error(\"AWS region is not defined.\"),\n \"No AWS region is set. Define the AWS_REGION environment variable or set a default region in your AWS profile. Learn more: https://webiny.link/aws-region\"\n );\n }\n\n process.env.AWS_REGION = region;\n\n const { accessKeyId } = await sts.config.credentials();\n const profile = process.env.AWS_PROFILE;\n\n if (profile) {\n this.loggerService.info(`Using profile \"${profile}\" in \"${region}\" region.`);\n } else {\n this.loggerService.info(`Using access key ID \"${accessKeyId}\" in \"${region}\" region.`);\n }\n }\n}\n\nexport const EnsureAwsCredentialsBeforeDeploy = BeforeDeploy.createImplementation({\n implementation: EnsureAwsCredentialsBeforeDeployImpl,\n dependencies: [LoggerService]\n});\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,aAAa,QAAQ,uCAAuC;AACnF,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,GAAG,QAAQ,4BAA4B;AAEhD,MAAMC,oCAAoC,CAAmC;EACzEC,WAAWA,CAASC,aAAsC,EAAE;IAAA,KAAxCA,aAAsC,GAAtCA,aAAsC;EAAG;EAE7D,MAAMC,OAAOA,CAAA,EAAG;IACZC,OAAO,CAACC,GAAG,CAACC,mBAAmB,GAAG,MAAM;IACxC,MAAMC,GAAG,GAAG,IAAIR,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvB,IAAI;MACA,MAAMQ,GAAG,CAACC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOC,GAAG,EAAE;MACV,IAAI,CAACP,aAAa,CAACQ,KAAK,CAAC;QAAED;MAAI,CAAC,EAAE,wBAAwB,CAAC;MAC3D,MAAMX,aAAa,CAACa,IAAI,CACpB,IAAIC,KAAK,CAAC,+CAA+C,CAAC,EAC1D,yMACJ,CAAC;IACL;IAEA,MAAMC,MAAM,GAAG,MAAMN,GAAG,CAACO,MAAM,CAACD,MAAM,CAAC,CAAC;IACxC,IAAI,CAACA,MAAM,EAAE;MACT,MAAMf,aAAa,CAACa,IAAI,CACpB,IAAIC,KAAK,CAAC,4BAA4B,CAAC,EACvC,0JACJ,CAAC;IACL;IAEAR,OAAO,CAACC,GAAG,CAACU,UAAU,GAAGF,MAAM;IAE/B,MAAM;MAAEG;IAAY,CAAC,GAAG,MAAMT,GAAG,CAACO,MAAM,CAACG,WAAW,CAAC,CAAC;IACtD,MAAMC,OAAO,GAAGd,OAAO,CAACC,GAAG,CAACc,WAAW;IAEvC,IAAID,OAAO,EAAE;MACT,IAAI,CAAChB,aAAa,CAACkB,IAAI,CAAC,kBAAkBF,OAAO,SAASL,MAAM,WAAW,CAAC;IAChF,CAAC,MAAM;MACH,IAAI,CAACX,aAAa,CAACkB,IAAI,CAAC,wBAAwBJ,WAAW,SAASH,MAAM,WAAW,CAAC;IAC1F;EACJ;AACJ;AAEA,OAAO,MAAMQ,gCAAgC,GAAGzB,YAAY,CAAC0B,oBAAoB,CAAC;EAC9EC,cAAc,EAAEvB,oCAAoC;EACpDwB,YAAY,EAAE,CAAC3B,aAAa;AAChC,CAAC,CAAC","ignoreList":[]}
@@ -3,7 +3,6 @@ import { AdminAfterDeploy, AdminBeforeBuild, AdminBeforeWatch, AfterDeploy, ApiA
3
3
  import { createPathResolver } from "@webiny/project";
4
4
  import { CliCommand } from "@webiny/cli-core/extensions/index.js";
5
5
  import { CorePulumi } from "@webiny/project/extensions/index.js";
6
- import { McpExtension } from "@webiny/mcp";
7
6
  const p = createPathResolver(import.meta.dirname);
8
7
  export const ProjectAws = () => {
9
8
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Project, null), /*#__PURE__*/React.createElement(ProjectDecorator, {
@@ -39,13 +38,15 @@ export const ProjectAws = () => {
39
38
  src: p("ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js")
40
39
  }), /*#__PURE__*/React.createElement(AdminBeforeWatch, {
41
40
  src: p("ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js")
41
+ }), /*#__PURE__*/React.createElement(BeforeDeploy, {
42
+ src: p("ProjectAws/EnsureAwsCredentialsBeforeDeploy.js")
42
43
  }), /*#__PURE__*/React.createElement(CliCommand, {
43
44
  src: p("ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js")
44
45
  }), /*#__PURE__*/React.createElement(BeforeDeploy, {
45
46
  src: p("ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js")
46
47
  }), /*#__PURE__*/React.createElement(AfterDeploy, {
47
48
  src: p("ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js")
48
- }), /*#__PURE__*/React.createElement(McpExtension, null));
49
+ }));
49
50
  };
50
51
 
51
52
  //# sourceMappingURL=ProjectAws.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AdminAfterDeploy","AdminBeforeBuild","AdminBeforeWatch","AfterDeploy","ApiAfterDeploy","BeforeDeploy","DatabaseSetup","ExtensionDefinitions","Project","ProjectDecorator","ProjectImplementation","createPathResolver","CliCommand","CorePulumi","McpExtension","p","import","meta","dirname","ProjectAws","createElement","Fragment","src","setupName","singleton"],"sources":["ProjectAws.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n AdminAfterDeploy,\n AdminBeforeBuild,\n AdminBeforeWatch,\n AfterDeploy,\n ApiAfterDeploy,\n BeforeDeploy,\n DatabaseSetup,\n ExtensionDefinitions,\n Project,\n ProjectDecorator,\n ProjectImplementation\n} from \"@webiny/project/extensions/index.js\";\nimport { createPathResolver } from \"@webiny/project\";\nimport { CliCommand } from \"@webiny/cli-core/extensions/index.js\";\nimport { CorePulumi } from \"@webiny/project/extensions/index.js\";\nimport { McpExtension } from \"@webiny/mcp\";\n\nconst p = createPathResolver(import.meta.dirname);\n\nexport const ProjectAws = () => {\n return (\n <>\n <Project />\n <ProjectDecorator src={p(\"ProjectAws/BuildAppWorkspace.js\")} />\n\n {/* Database Setup - default to DynamoDB only */}\n <DatabaseSetup setupName=\"ddb\" />\n\n {/* Set database setup output value in Core stack */}\n <CorePulumi src={p(\"ProjectAws/SetDatabaseSetupOutput.js\")} />\n\n {/* Stack Output Services */}\n <ProjectImplementation src={p(\"ProjectAws/CoreStackOutputService.js\")} singleton />\n <ProjectImplementation src={p(\"ProjectAws/ApiStackOutputService.js\")} singleton />\n <ProjectImplementation src={p(\"ProjectAws/AdminStackOutputService.js\")} singleton />\n\n <ProjectImplementation src={p(\"../features/InvokeLambdaFunction.js\")} singleton />\n <ProjectImplementation src={p(\"../features/ApiGqlClient.js\")} singleton />\n\n <AdminAfterDeploy src={p(\"ProjectAws/UploadAdminAppToS3.js\")} />\n\n {/* We'll bring this back once needed. */}\n {/* <ApiAfterDeploy src={p(\"ProjectAws/ExecuteDataMigrations.js\")} /> */}\n\n <ApiAfterDeploy src={p(\"ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js\")} />\n <ExtensionDefinitions src={p(\"definitions.js\")} />\n <ExtensionDefinitions src={p(\"ProjectAws/definitions.js\")} />\n\n {/* Admin env vars */}\n <AdminBeforeBuild src={p(\"ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js\")} />\n <AdminBeforeWatch src={p(\"ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js\")} />\n\n {/* Blue-green */}\n <CliCommand src={p(\"ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js\")} />\n <BeforeDeploy src={p(\"ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js\")} />\n <AfterDeploy\n src={p(\"ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js\")}\n />\n\n {/* MCP */}\n <McpExtension />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","AdminAfterDeploy","AdminBeforeBuild","AdminBeforeWatch","AfterDeploy","ApiAfterDeploy","BeforeDeploy","DatabaseSetup","ExtensionDefinitions","Project","ProjectDecorator","ProjectImplementation","createPathResolver","CliCommand","CorePulumi","p","import","meta","dirname","ProjectAws","createElement","Fragment","src","setupName","singleton"],"sources":["ProjectAws.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n AdminAfterDeploy,\n AdminBeforeBuild,\n AdminBeforeWatch,\n AfterDeploy,\n ApiAfterDeploy,\n BeforeDeploy,\n DatabaseSetup,\n ExtensionDefinitions,\n Project,\n ProjectDecorator,\n ProjectImplementation\n} from \"@webiny/project/extensions/index.js\";\nimport { createPathResolver } from \"@webiny/project\";\nimport { CliCommand } from \"@webiny/cli-core/extensions/index.js\";\nimport { CorePulumi } from \"@webiny/project/extensions/index.js\";\n\nconst p = createPathResolver(import.meta.dirname);\n\nexport const ProjectAws = () => {\n return (\n <>\n <Project />\n <ProjectDecorator src={p(\"ProjectAws/BuildAppWorkspace.js\")} />\n\n {/* Database Setup - default to DynamoDB only */}\n <DatabaseSetup setupName=\"ddb\" />\n\n {/* Set database setup output value in Core stack */}\n <CorePulumi src={p(\"ProjectAws/SetDatabaseSetupOutput.js\")} />\n\n {/* Stack Output Services */}\n <ProjectImplementation src={p(\"ProjectAws/CoreStackOutputService.js\")} singleton />\n <ProjectImplementation src={p(\"ProjectAws/ApiStackOutputService.js\")} singleton />\n <ProjectImplementation src={p(\"ProjectAws/AdminStackOutputService.js\")} singleton />\n\n <ProjectImplementation src={p(\"../features/InvokeLambdaFunction.js\")} singleton />\n <ProjectImplementation src={p(\"../features/ApiGqlClient.js\")} singleton />\n\n <AdminAfterDeploy src={p(\"ProjectAws/UploadAdminAppToS3.js\")} />\n\n <ApiAfterDeploy src={p(\"ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js\")} />\n <ExtensionDefinitions src={p(\"definitions.js\")} />\n <ExtensionDefinitions src={p(\"ProjectAws/definitions.js\")} />\n\n {/* Admin env vars */}\n <AdminBeforeBuild src={p(\"ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js\")} />\n <AdminBeforeWatch src={p(\"ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js\")} />\n\n {/* AWS credentials check */}\n <BeforeDeploy src={p(\"ProjectAws/EnsureAwsCredentialsBeforeDeploy.js\")} />\n\n {/* Blue-green */}\n <CliCommand src={p(\"ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js\")} />\n <BeforeDeploy src={p(\"ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js\")} />\n <AfterDeploy\n src={p(\"ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js\")}\n />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}