@webiny/project 0.0.0-unstable.b9b64acb6d → 0.0.0-unstable.c27f4d8a31

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 (94) hide show
  1. package/defineExtension/models/ExtensionDefinitionModel.d.ts +4 -4
  2. package/defineExtension/models/ExtensionDefinitionModel.js.map +1 -1
  3. package/defineExtension/models/ExtensionInstanceModel.js +1 -1
  4. package/defineExtension/models/ExtensionInstanceModel.js.map +1 -1
  5. package/defineExtension/zodTypes/zodSrcPath.d.ts +1 -1
  6. package/extensions/AdminBuildParam.d.ts +2 -8
  7. package/extensions/AdminBuildParam.js +1 -1
  8. package/extensions/AdminBuildParam.js.map +1 -1
  9. package/extensions/AdminExtension.d.ts +2 -8
  10. package/extensions/ApiBuildParam.d.ts +2 -8
  11. package/extensions/ApiBuildParam.js +1 -1
  12. package/extensions/ApiBuildParam.js.map +1 -1
  13. package/extensions/ApiExtension.d.ts +2 -8
  14. package/extensions/DatabaseSetup.d.ts +6 -6
  15. package/extensions/EnvVar.d.ts +1 -7
  16. package/extensions/ExtensionDefinitions.d.ts +1 -5
  17. package/extensions/FeatureFlags.d.ts +5 -79
  18. package/extensions/Project/EnsureTelemetryEnabledForOss.js +1 -1
  19. package/extensions/Project/EnsureTelemetryEnabledForOss.js.map +1 -1
  20. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js +1 -0
  21. package/extensions/Project/SetAdminAppEnvVarsBeforeBuild.js.map +1 -1
  22. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js +1 -0
  23. package/extensions/Project/SetAdminAppEnvVarsBeforeWatch.js.map +1 -1
  24. package/extensions/ProjectDecorator.d.ts +2 -6
  25. package/extensions/ProjectId.d.ts +2 -6
  26. package/extensions/ProjectImplementation.d.ts +2 -8
  27. package/extensions/Telemetry.d.ts +1 -5
  28. package/extensions/hooks/AdminAfterBuild.d.ts +2 -6
  29. package/extensions/hooks/AdminAfterDeploy.d.ts +2 -6
  30. package/extensions/hooks/AdminBeforeBuild.d.ts +2 -6
  31. package/extensions/hooks/AdminBeforeDeploy.d.ts +2 -6
  32. package/extensions/hooks/AdminBeforeWatch.d.ts +2 -6
  33. package/extensions/hooks/AfterBuild.d.ts +2 -6
  34. package/extensions/hooks/AfterDeploy.d.ts +2 -6
  35. package/extensions/hooks/ApiAfterBuild.d.ts +2 -6
  36. package/extensions/hooks/ApiAfterDeploy.d.ts +2 -6
  37. package/extensions/hooks/ApiBeforeBuild.d.ts +2 -6
  38. package/extensions/hooks/ApiBeforeDeploy.d.ts +2 -6
  39. package/extensions/hooks/ApiBeforeWatch.d.ts +2 -6
  40. package/extensions/hooks/BeforeBuild.d.ts +2 -6
  41. package/extensions/hooks/BeforeDeploy.d.ts +2 -6
  42. package/extensions/hooks/BeforeWatch.d.ts +2 -6
  43. package/extensions/hooks/CoreAfterBuild.d.ts +2 -6
  44. package/extensions/hooks/CoreAfterDeploy.d.ts +2 -6
  45. package/extensions/hooks/CoreBeforeBuild.d.ts +2 -6
  46. package/extensions/hooks/CoreBeforeDeploy.d.ts +2 -6
  47. package/extensions/hooks/CoreBeforeWatch.d.ts +2 -6
  48. package/extensions/index.d.ts +24 -140
  49. package/extensions/pulumi/AdminPulumi.d.ts +2 -6
  50. package/extensions/pulumi/AdminStackOutputValue.d.ts +1 -7
  51. package/extensions/pulumi/ApiPulumi.d.ts +2 -6
  52. package/extensions/pulumi/ApiStackOutputValue.d.ts +1 -7
  53. package/extensions/pulumi/CorePulumi.d.ts +2 -6
  54. package/extensions/pulumi/CoreStackOutputValue.d.ts +1 -7
  55. package/extensions/pulumi/ProductionEnvironments.d.ts +2 -6
  56. package/extensions/pulumi/PulumiResourceNamePrefix.d.ts +1 -5
  57. package/features/BuildApp/PackagesBuilder/worker.js +1 -1
  58. package/features/BuildApp/PackagesBuilder/worker.js.map +1 -1
  59. package/features/Watch/localInvocationWorker.js +5 -1
  60. package/features/Watch/localInvocationWorker.js.map +1 -1
  61. package/index.d.ts +1 -0
  62. package/index.js +1 -0
  63. package/index.js.map +1 -1
  64. package/package.json +17 -16
  65. package/services/GetProjectConfigService/GetProjectConfigService.js +2 -1
  66. package/services/GetProjectConfigService/GetProjectConfigService.js.map +1 -1
  67. package/services/GetProjectConfigService/renderConfigWorker.js +12 -3
  68. package/services/GetProjectConfigService/renderConfigWorker.js.map +1 -1
  69. package/services/GetProjectIdService/GetProjectIdService.js +1 -1
  70. package/services/GetProjectIdService/GetProjectIdService.js.map +1 -1
  71. package/services/InitProjectSdkService/applyWcpEnvVars.js +10 -8
  72. package/services/InitProjectSdkService/applyWcpEnvVars.js.map +1 -1
  73. package/services/InstallExtensionService/types.d.ts +4 -0
  74. package/services/InstallExtensionService/types.js.map +1 -1
  75. package/services/InstallExtensionService/updateWebinyConfig.js +74 -47
  76. package/services/InstallExtensionService/updateWebinyConfig.js.map +1 -1
  77. package/services/ProjectInfoService/ProjectInfoService.js +2 -2
  78. package/services/ProjectInfoService/ProjectInfoService.js.map +1 -1
  79. package/utils/ExtensionSrcResolver.js +2 -1
  80. package/utils/ExtensionSrcResolver.js.map +1 -1
  81. package/utils/index.d.ts +1 -0
  82. package/utils/index.js +1 -0
  83. package/utils/index.js.map +1 -1
  84. package/utils/requireConfig.js +9 -5
  85. package/utils/requireConfig.js.map +1 -1
  86. package/utils/toImportSpecifier.d.ts +5 -0
  87. package/utils/toImportSpecifier.js +12 -0
  88. package/utils/toImportSpecifier.js.map +1 -0
  89. package/features/BuildApp/PackagesBuilder/utils/requireConfig.d.ts +0 -18
  90. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js +0 -15
  91. package/features/BuildApp/PackagesBuilder/utils/requireConfig.js.map +0 -1
  92. package/features/Watch/watchers/utils/requireConfig.d.ts +0 -18
  93. package/features/Watch/watchers/utils/requireConfig.js +0 -15
  94. package/features/Watch/watchers/utils/requireConfig.js.map +0 -1
@@ -7,8 +7,8 @@ export interface ExtensionDefinitionModelParams<TParamsSchema extends z.ZodTypeA
7
7
  description: string;
8
8
  array?: boolean;
9
9
  paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);
10
- build?(params: TParamsSchema, ctx: ExtensionInstanceModelContext): Promise<void> | void;
11
- validate?(params: TParamsSchema): Promise<void> | void;
10
+ build?(params: z.infer<TParamsSchema>, ctx: ExtensionInstanceModelContext): Promise<void> | void;
11
+ validate?(params: z.infer<TParamsSchema>): Promise<void> | void;
12
12
  }
13
13
  export declare class ExtensionDefinitionModel<TParamsSchema extends z.ZodTypeAny> {
14
14
  type: string;
@@ -16,7 +16,7 @@ export declare class ExtensionDefinitionModel<TParamsSchema extends z.ZodTypeAny
16
16
  tags: ExtensionTags;
17
17
  multiple?: boolean;
18
18
  paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);
19
- build?(params: TParamsSchema, ctx: ExtensionInstanceModelContext): Promise<void> | void;
20
- validate?(params: TParamsSchema): Promise<void> | void;
19
+ build?(params: z.infer<TParamsSchema>, ctx: ExtensionInstanceModelContext): Promise<void> | void;
20
+ validate?(params: z.infer<TParamsSchema>): Promise<void> | void;
21
21
  constructor(params: ExtensionDefinitionModelParams<TParamsSchema>);
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ExtensionDefinitionModel","constructor","params","type","tags","description","multiple","array","paramsSchema","build","validate"],"sources":["ExtensionDefinitionModel.ts"],"sourcesContent":["import { type ExtensionTags } from \"~/defineExtension/types.js\";\nimport { type z } from \"zod\";\nimport { type ExtensionInstanceModelContext } from \"~/defineExtension/index.js\";\n\nexport interface ExtensionDefinitionModelParams<TParamsSchema extends z.ZodTypeAny> {\n type: string;\n tags?: ExtensionTags;\n description: string;\n array?: boolean;\n paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);\n\n build?(params: TParamsSchema, ctx: ExtensionInstanceModelContext): Promise<void> | void;\n\n validate?(params: TParamsSchema): Promise<void> | void;\n}\n\nexport class ExtensionDefinitionModel<TParamsSchema extends z.ZodTypeAny> {\n type: string;\n description: string;\n tags: ExtensionTags;\n multiple?: boolean;\n paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);\n\n build?(params: TParamsSchema, ctx: ExtensionInstanceModelContext): Promise<void> | void;\n\n validate?(params: TParamsSchema): Promise<void> | void;\n\n constructor(params: ExtensionDefinitionModelParams<TParamsSchema>) {\n this.type = params.type;\n this.tags = params.tags || {};\n this.description = params.description;\n this.multiple = params.array;\n this.paramsSchema = params.paramsSchema;\n this.build = params.build;\n this.validate = params.validate;\n }\n}\n"],"mappings":"AAgBA,OAAO,MAAMA,wBAAwB,CAAqC;EAWtEC,WAAWA,CAACC,MAAqD,EAAE;IAC/D,IAAI,CAACC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI,IAAI,CAAC,CAAC;IAC7B,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;IACrC,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACK,KAAK;IAC5B,IAAI,CAACC,YAAY,GAAGN,MAAM,CAACM,YAAY;IACvC,IAAI,CAACC,KAAK,GAAGP,MAAM,CAACO,KAAK;IACzB,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;EACnC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["ExtensionDefinitionModel","constructor","params","type","tags","description","multiple","array","paramsSchema","build","validate"],"sources":["ExtensionDefinitionModel.ts"],"sourcesContent":["import { type ExtensionTags } from \"~/defineExtension/types.js\";\nimport { type z } from \"zod\";\nimport { type ExtensionInstanceModelContext } from \"~/defineExtension/index.js\";\n\nexport interface ExtensionDefinitionModelParams<TParamsSchema extends z.ZodTypeAny> {\n type: string;\n tags?: ExtensionTags;\n description: string;\n array?: boolean;\n paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);\n\n build?(\n params: z.infer<TParamsSchema>,\n ctx: ExtensionInstanceModelContext\n ): Promise<void> | void;\n\n validate?(params: z.infer<TParamsSchema>): Promise<void> | void;\n}\n\nexport class ExtensionDefinitionModel<TParamsSchema extends z.ZodTypeAny> {\n type: string;\n description: string;\n tags: ExtensionTags;\n multiple?: boolean;\n paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema);\n\n build?(\n params: z.infer<TParamsSchema>,\n ctx: ExtensionInstanceModelContext\n ): Promise<void> | void;\n\n validate?(params: z.infer<TParamsSchema>): Promise<void> | void;\n\n constructor(params: ExtensionDefinitionModelParams<TParamsSchema>) {\n this.type = params.type;\n this.tags = params.tags || {};\n this.description = params.description;\n this.multiple = params.array;\n this.paramsSchema = params.paramsSchema;\n this.build = params.build;\n this.validate = params.validate;\n }\n}\n"],"mappings":"AAmBA,OAAO,MAAMA,wBAAwB,CAAqC;EActEC,WAAWA,CAACC,MAAqD,EAAE;IAC/D,IAAI,CAACC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI,IAAI,CAAC,CAAC;IAC7B,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;IACrC,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACK,KAAK;IAC5B,IAAI,CAACC,YAAY,GAAGN,MAAM,CAACM,YAAY;IACvC,IAAI,CAACC,KAAK,GAAGP,MAAM,CAACO,KAAK;IACzB,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;EACnC;AACJ","ignoreList":[]}
@@ -18,7 +18,7 @@ export class ExtensionInstanceModel {
18
18
  const paramsSchema = typeof this.definition.paramsSchema === "function" ? this.definition.paramsSchema(this.context) : this.definition.paramsSchema;
19
19
  const validationResult = await paramsSchema.safeParseAsync(this.params);
20
20
  if (!validationResult.success) {
21
- const errorMessages = validationResult.error.errors.map(err => err.message).join("; ");
21
+ const errorMessages = validationResult.error.issues.map(err => err.message).join("; ");
22
22
  throw ProjectError.from(`Validation failed for extension of type %s: ${errorMessages}`, this.definition.type);
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ProjectError","ExtensionInstanceModel","constructor","definition","params","context","build","validate","validateParams","paramsSchema","validationResult","safeParseAsync","success","errorMessages","error","errors","map","err","message","join","from","type"],"sources":["ExtensionInstanceModel.ts"],"sourcesContent":["import { type ExtensionDefinitionModel } from \"./ExtensionDefinitionModel.js\";\nimport { type z } from \"zod\";\nimport { type ProjectModel } from \"~/models/index.js\";\nimport { ProjectError } from \"~/ProjectError.js\";\n\nexport interface ExtensionInstanceModelContext {\n [key: string]: any;\n\n project: ProjectModel;\n}\n\nexport class ExtensionInstanceModel<TParamsSchema extends z.ZodTypeAny> {\n constructor(\n public definition: ExtensionDefinitionModel<TParamsSchema>,\n public params: z.infer<TParamsSchema>,\n public context: ExtensionInstanceModelContext\n ) {}\n\n async build() {\n return this.definition.build?.(this.params, this.context);\n }\n\n async validate() {\n return this.definition.validate?.(this.params);\n }\n\n async validateParams() {\n if (!this.definition.paramsSchema) {\n return;\n }\n\n const paramsSchema =\n typeof this.definition.paramsSchema === \"function\"\n ? this.definition.paramsSchema(this.context)\n : this.definition.paramsSchema;\n\n const validationResult = await paramsSchema.safeParseAsync(this.params);\n if (!validationResult.success) {\n const errorMessages = validationResult.error.errors.map(err => err.message).join(\"; \");\n\n throw ProjectError.from(\n `Validation failed for extension of type %s: ${errorMessages}`,\n this.definition.type\n );\n }\n }\n}\n"],"mappings":"AAGA,SAASA,YAAY;AAQrB,OAAO,MAAMC,sBAAsB,CAAqC;EACpEC,WAAWA,CACAC,UAAmD,EACnDC,MAA8B,EAC9BC,OAAsC,EAC/C;IAAA,KAHSF,UAAmD,GAAnDA,UAAmD;IAAA,KACnDC,MAA8B,GAA9BA,MAA8B;IAAA,KAC9BC,OAAsC,GAAtCA,OAAsC;EAC9C;EAEH,MAAMC,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACH,UAAU,CAACG,KAAK,GAAG,IAAI,CAACF,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;EAC7D;EAEA,MAAME,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACJ,UAAU,CAACI,QAAQ,GAAG,IAAI,CAACH,MAAM,CAAC;EAClD;EAEA,MAAMI,cAAcA,CAAA,EAAG;IACnB,IAAI,CAAC,IAAI,CAACL,UAAU,CAACM,YAAY,EAAE;MAC/B;IACJ;IAEA,MAAMA,YAAY,GACd,OAAO,IAAI,CAACN,UAAU,CAACM,YAAY,KAAK,UAAU,GAC5C,IAAI,CAACN,UAAU,CAACM,YAAY,CAAC,IAAI,CAACJ,OAAO,CAAC,GAC1C,IAAI,CAACF,UAAU,CAACM,YAAY;IAEtC,MAAMC,gBAAgB,GAAG,MAAMD,YAAY,CAACE,cAAc,CAAC,IAAI,CAACP,MAAM,CAAC;IACvE,IAAI,CAACM,gBAAgB,CAACE,OAAO,EAAE;MAC3B,MAAMC,aAAa,GAAGH,gBAAgB,CAACI,KAAK,CAACC,MAAM,CAACC,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;MAEtF,MAAMnB,YAAY,CAACoB,IAAI,CACnB,+CAA+CP,aAAa,EAAE,EAC9D,IAAI,CAACV,UAAU,CAACkB,IACpB,CAAC;IACL;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["ProjectError","ExtensionInstanceModel","constructor","definition","params","context","build","validate","validateParams","paramsSchema","validationResult","safeParseAsync","success","errorMessages","error","issues","map","err","message","join","from","type"],"sources":["ExtensionInstanceModel.ts"],"sourcesContent":["import { type ExtensionDefinitionModel } from \"./ExtensionDefinitionModel.js\";\nimport { type z } from \"zod\";\nimport { type ProjectModel } from \"~/models/index.js\";\nimport { ProjectError } from \"~/ProjectError.js\";\n\nexport interface ExtensionInstanceModelContext {\n [key: string]: any;\n\n project: ProjectModel;\n}\n\nexport class ExtensionInstanceModel<TParamsSchema extends z.ZodTypeAny> {\n constructor(\n public definition: ExtensionDefinitionModel<TParamsSchema>,\n public params: z.infer<TParamsSchema>,\n public context: ExtensionInstanceModelContext\n ) {}\n\n async build() {\n return this.definition.build?.(this.params, this.context);\n }\n\n async validate() {\n return this.definition.validate?.(this.params);\n }\n\n async validateParams() {\n if (!this.definition.paramsSchema) {\n return;\n }\n\n const paramsSchema =\n typeof this.definition.paramsSchema === \"function\"\n ? this.definition.paramsSchema(this.context)\n : this.definition.paramsSchema;\n\n const validationResult = await paramsSchema.safeParseAsync(this.params);\n if (!validationResult.success) {\n const errorMessages = validationResult.error.issues\n .map((err: { message: string }) => err.message)\n .join(\"; \");\n\n throw ProjectError.from(\n `Validation failed for extension of type %s: ${errorMessages}`,\n this.definition.type\n );\n }\n }\n}\n"],"mappings":"AAGA,SAASA,YAAY;AAQrB,OAAO,MAAMC,sBAAsB,CAAqC;EACpEC,WAAWA,CACAC,UAAmD,EACnDC,MAA8B,EAC9BC,OAAsC,EAC/C;IAAA,KAHSF,UAAmD,GAAnDA,UAAmD;IAAA,KACnDC,MAA8B,GAA9BA,MAA8B;IAAA,KAC9BC,OAAsC,GAAtCA,OAAsC;EAC9C;EAEH,MAAMC,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACH,UAAU,CAACG,KAAK,GAAG,IAAI,CAACF,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;EAC7D;EAEA,MAAME,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACJ,UAAU,CAACI,QAAQ,GAAG,IAAI,CAACH,MAAM,CAAC;EAClD;EAEA,MAAMI,cAAcA,CAAA,EAAG;IACnB,IAAI,CAAC,IAAI,CAACL,UAAU,CAACM,YAAY,EAAE;MAC/B;IACJ;IAEA,MAAMA,YAAY,GACd,OAAO,IAAI,CAACN,UAAU,CAACM,YAAY,KAAK,UAAU,GAC5C,IAAI,CAACN,UAAU,CAACM,YAAY,CAAC,IAAI,CAACJ,OAAO,CAAC,GAC1C,IAAI,CAACF,UAAU,CAACM,YAAY;IAEtC,MAAMC,gBAAgB,GAAG,MAAMD,YAAY,CAACE,cAAc,CAAC,IAAI,CAACP,MAAM,CAAC;IACvE,IAAI,CAACM,gBAAgB,CAACE,OAAO,EAAE;MAC3B,MAAMC,aAAa,GAAGH,gBAAgB,CAACI,KAAK,CAACC,MAAM,CAC9CC,GAAG,CAAEC,GAAwB,IAAKA,GAAG,CAACC,OAAO,CAAC,CAC9CC,IAAI,CAAC,IAAI,CAAC;MAEf,MAAMnB,YAAY,CAACoB,IAAI,CACnB,+CAA+CP,aAAa,EAAE,EAC9D,IAAI,CAACV,UAAU,CAACkB,IACpB,CAAC;IACL;EACJ;AACJ","ignoreList":[]}
@@ -12,5 +12,5 @@ type ZodSrcPathOptions = {
12
12
  project: IProjectModel;
13
13
  abstraction?: Abstraction<any>;
14
14
  };
15
- export declare const zodSrcPath: (options: ZodSrcPathOptions) => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
15
+ export declare const zodSrcPath: (options: ZodSrcPathOptions) => z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
16
16
  export {};
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const AdminBuildParam: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  paramName: z.ZodString;
4
- value: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNumber, z.ZodBoolean]>;
5
- }, "strip", z.ZodTypeAny, {
6
- value: string | number | boolean | any[] | Record<string, any>;
7
- paramName: string;
8
- }, {
9
- value: string | number | boolean | any[] | Record<string, any>;
10
- paramName: string;
11
- }>>;
4
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>, z.ZodNumber, z.ZodBoolean]>;
5
+ }, z.core.$strip>>;
@@ -132,7 +132,7 @@ export const AdminBuildParam = defineExtension({
132
132
  paramsSchema: () => {
133
133
  return z.object({
134
134
  paramName: z.string(),
135
- value: z.union([z.string(), z.record(z.any()), z.array(z.any()), z.number(), z.boolean()])
135
+ value: z.union([z.string(), z.record(z.string(), z.any()), z.array(z.any()), z.number(), z.boolean()])
136
136
  });
137
137
  },
138
138
  async build(params, ctx) {
@@ -1 +1 @@
1
- {"version":3,"names":["z","defineExtension","crypto","path","fs","Node","Project","generateBuildParamsFeature","buildParamsDir","ctx","featureFilePath","join","files","readdirSync","filter","f","startsWith","endsWith","imports","map","file","className","parse","name","registrations","featureContent","writeFileSync","updateExtensionsTsx","extensionsTsxFilePath","project","paths","workspaceFolder","toString","addSourceFileAtPath","source","getSourceFileOrThrow","buildParamsFeatureImport","existingFeatureImport","getImportDeclaration","index","importDeclarations","getImportDeclarations","length","last","getChildIndex","insertImportDeclaration","namedImports","moduleSpecifier","buildParamsFeatureImportPath","existingBuildParamsImport","getNamedImports","hasBuildParamsFeature","some","ni","getName","addNamedImport","registerFeatureImportPath","existingRegisterFeatureImport","hasRegisterFeature","extensionsIdentifier","getFirstDescendant","node","isIdentifier","getText","Error","extensionsArrowFn","getNextSibling","isArrowFunction","extensionsArrowFnFragment","isJsxFragment","currentContent","getFullText","replace","trim","includes","newContent","replaceWithText","save","AdminBuildParam","type","tags","runtimeContext","appName","description","multiple","paramsSchema","object","paramName","string","value","union","record","any","array","number","boolean","build","params","valueStr","JSON","stringify","hash","createHash","update","digest","slice","fileName","filePath","existsSync","mkdirSync","recursive","fileContent"],"sources":["AdminBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport { Node, Project } from \"ts-morph\";\n\nasync function generateBuildParamsFeature(buildParamsDir: string, ctx: any) {\n const featureFilePath = path.join(buildParamsDir, \"feature.ts\");\n\n // Get all BuildParam_*.ts files.\n const files = fs\n .readdirSync(buildParamsDir)\n .filter(f => f.startsWith(\"BuildParam_\") && f.endsWith(\".ts\") && f !== \"feature.ts\");\n\n // Generate imports and registrations.\n const imports = files\n .map(file => {\n const className = path.parse(file).name;\n return `import ${className} from \"./${className}.js\";`;\n })\n .join(\"\\n\");\n\n const registrations = files\n .map(file => {\n const className = path.parse(file).name;\n return ` container.register(${className});`;\n })\n .join(\"\\n\");\n\n const featureContent = `import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\n${imports}\n\nexport const BuildParamsInternalFeature = createFeature({\n name: \"BuildParamsInternal\",\n register(container: Container) {\n${registrations}\n }\n});\n`;\n\n fs.writeFileSync(featureFilePath, featureContent, \"utf8\");\n\n // Now we need to update Extensions.tsx to use RegisterFeature with this feature.\n await updateExtensionsTsx(ctx);\n}\n\nasync function updateExtensionsTsx(ctx: any) {\n const extensionsTsxFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"Extensions.tsx\")\n .toString();\n\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsxFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsxFilePath);\n\n // Check if we already have the imports.\n const buildParamsFeatureImport = \"./buildParams/feature.js\";\n const existingFeatureImport = source.getImportDeclaration(buildParamsFeatureImport);\n\n if (!existingFeatureImport) {\n let index = 1;\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for BuildParamsInternalFeature.\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsInternalFeature\"],\n moduleSpecifier: buildParamsFeatureImport\n });\n\n // Add import for BuildParamsFeature.\n const buildParamsFeatureImportPath = \"@webiny/app-admin\";\n const existingBuildParamsImport = source.getImportDeclaration(buildParamsFeatureImportPath);\n\n if (!existingBuildParamsImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsFeature\"],\n moduleSpecifier: buildParamsFeatureImportPath\n });\n } else {\n // Add to existing import if BuildParamsFeature not already there.\n const namedImports = existingBuildParamsImport.getNamedImports();\n const hasBuildParamsFeature = namedImports.some(\n ni => ni.getName() === \"BuildParamsFeature\"\n );\n if (!hasBuildParamsFeature) {\n existingBuildParamsImport.addNamedImport(\"BuildParamsFeature\");\n }\n }\n\n // Add import for RegisterFeature if not present.\n const registerFeatureImportPath = \"@webiny/app-admin\";\n const existingRegisterFeatureImport =\n source.getImportDeclaration(registerFeatureImportPath);\n\n if (existingRegisterFeatureImport) {\n const namedImports = existingRegisterFeatureImport.getNamedImports();\n const hasRegisterFeature = namedImports.some(ni => ni.getName() === \"RegisterFeature\");\n if (!hasRegisterFeature) {\n existingRegisterFeatureImport.addNamedImport(\"RegisterFeature\");\n }\n } else {\n source.insertImportDeclaration(index, {\n namedImports: [\"RegisterFeature\"],\n moduleSpecifier: registerFeatureImportPath\n });\n }\n }\n\n // Now add <RegisterFeature> components to the Extensions component.\n const extensionsIdentifier = source.getFirstDescendant(node => {\n if (!Node.isIdentifier(node)) {\n return false;\n }\n return node.getText() === \"Extensions\";\n });\n\n if (!extensionsIdentifier) {\n throw new Error(\n `Could not find the \"Extensions\" React component in \"${extensionsTsxFilePath}\".`\n );\n }\n\n const extensionsArrowFn = extensionsIdentifier.getNextSibling(node =>\n Node.isArrowFunction(node)\n );\n\n if (!extensionsArrowFn) {\n throw new Error(`Could not find the \"Extensions\" React component arrow function.`);\n }\n\n const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant(node => {\n return Node.isJsxFragment(node);\n });\n\n if (!extensionsArrowFnFragment) {\n throw new Error(`Could not find JSX fragment in Extensions component.`);\n }\n\n const currentContent = extensionsArrowFnFragment\n .getFullText()\n .replace(\"<>\", \"\")\n .replace(\"</>\", \"\")\n .trim();\n\n // Check if we already have the RegisterFeature components.\n if (!currentContent.includes(\"BuildParamsFeature\")) {\n const newContent = `<><RegisterFeature feature={BuildParamsFeature} /><RegisterFeature feature={BuildParamsInternalFeature} />${currentContent}</>`;\n extensionsArrowFnFragment.replaceWithText(newContent);\n }\n\n await source.save();\n}\n\nexport const AdminBuildParam = defineExtension({\n type: \"Admin/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"admin\" },\n description: \"Add build-time parameter to Admin app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (!fs.existsSync(filePath)) {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/admin/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now we need to generate/update the feature file that imports all BuildParams.\n await generateBuildParamsFeature(buildParamsDir, ctx);\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["z","defineExtension","crypto","path","fs","Node","Project","generateBuildParamsFeature","buildParamsDir","ctx","featureFilePath","join","files","readdirSync","filter","f","startsWith","endsWith","imports","map","file","className","parse","name","registrations","featureContent","writeFileSync","updateExtensionsTsx","extensionsTsxFilePath","project","paths","workspaceFolder","toString","addSourceFileAtPath","source","getSourceFileOrThrow","buildParamsFeatureImport","existingFeatureImport","getImportDeclaration","index","importDeclarations","getImportDeclarations","length","last","getChildIndex","insertImportDeclaration","namedImports","moduleSpecifier","buildParamsFeatureImportPath","existingBuildParamsImport","getNamedImports","hasBuildParamsFeature","some","ni","getName","addNamedImport","registerFeatureImportPath","existingRegisterFeatureImport","hasRegisterFeature","extensionsIdentifier","getFirstDescendant","node","isIdentifier","getText","Error","extensionsArrowFn","getNextSibling","isArrowFunction","extensionsArrowFnFragment","isJsxFragment","currentContent","getFullText","replace","trim","includes","newContent","replaceWithText","save","AdminBuildParam","type","tags","runtimeContext","appName","description","multiple","paramsSchema","object","paramName","string","value","union","record","any","array","number","boolean","build","params","valueStr","JSON","stringify","hash","createHash","update","digest","slice","fileName","filePath","existsSync","mkdirSync","recursive","fileContent"],"sources":["AdminBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport { Node, Project } from \"ts-morph\";\n\nasync function generateBuildParamsFeature(buildParamsDir: string, ctx: any) {\n const featureFilePath = path.join(buildParamsDir, \"feature.ts\");\n\n // Get all BuildParam_*.ts files.\n const files = fs\n .readdirSync(buildParamsDir)\n .filter(f => f.startsWith(\"BuildParam_\") && f.endsWith(\".ts\") && f !== \"feature.ts\");\n\n // Generate imports and registrations.\n const imports = files\n .map(file => {\n const className = path.parse(file).name;\n return `import ${className} from \"./${className}.js\";`;\n })\n .join(\"\\n\");\n\n const registrations = files\n .map(file => {\n const className = path.parse(file).name;\n return ` container.register(${className});`;\n })\n .join(\"\\n\");\n\n const featureContent = `import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\n${imports}\n\nexport const BuildParamsInternalFeature = createFeature({\n name: \"BuildParamsInternal\",\n register(container: Container) {\n${registrations}\n }\n});\n`;\n\n fs.writeFileSync(featureFilePath, featureContent, \"utf8\");\n\n // Now we need to update Extensions.tsx to use RegisterFeature with this feature.\n await updateExtensionsTsx(ctx);\n}\n\nasync function updateExtensionsTsx(ctx: any) {\n const extensionsTsxFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"Extensions.tsx\")\n .toString();\n\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsxFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsxFilePath);\n\n // Check if we already have the imports.\n const buildParamsFeatureImport = \"./buildParams/feature.js\";\n const existingFeatureImport = source.getImportDeclaration(buildParamsFeatureImport);\n\n if (!existingFeatureImport) {\n let index = 1;\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for BuildParamsInternalFeature.\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsInternalFeature\"],\n moduleSpecifier: buildParamsFeatureImport\n });\n\n // Add import for BuildParamsFeature.\n const buildParamsFeatureImportPath = \"@webiny/app-admin\";\n const existingBuildParamsImport = source.getImportDeclaration(buildParamsFeatureImportPath);\n\n if (!existingBuildParamsImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"BuildParamsFeature\"],\n moduleSpecifier: buildParamsFeatureImportPath\n });\n } else {\n // Add to existing import if BuildParamsFeature not already there.\n const namedImports = existingBuildParamsImport.getNamedImports();\n const hasBuildParamsFeature = namedImports.some(\n ni => ni.getName() === \"BuildParamsFeature\"\n );\n if (!hasBuildParamsFeature) {\n existingBuildParamsImport.addNamedImport(\"BuildParamsFeature\");\n }\n }\n\n // Add import for RegisterFeature if not present.\n const registerFeatureImportPath = \"@webiny/app-admin\";\n const existingRegisterFeatureImport =\n source.getImportDeclaration(registerFeatureImportPath);\n\n if (existingRegisterFeatureImport) {\n const namedImports = existingRegisterFeatureImport.getNamedImports();\n const hasRegisterFeature = namedImports.some(ni => ni.getName() === \"RegisterFeature\");\n if (!hasRegisterFeature) {\n existingRegisterFeatureImport.addNamedImport(\"RegisterFeature\");\n }\n } else {\n source.insertImportDeclaration(index, {\n namedImports: [\"RegisterFeature\"],\n moduleSpecifier: registerFeatureImportPath\n });\n }\n }\n\n // Now add <RegisterFeature> components to the Extensions component.\n const extensionsIdentifier = source.getFirstDescendant(node => {\n if (!Node.isIdentifier(node)) {\n return false;\n }\n return node.getText() === \"Extensions\";\n });\n\n if (!extensionsIdentifier) {\n throw new Error(\n `Could not find the \"Extensions\" React component in \"${extensionsTsxFilePath}\".`\n );\n }\n\n const extensionsArrowFn = extensionsIdentifier.getNextSibling(node =>\n Node.isArrowFunction(node)\n );\n\n if (!extensionsArrowFn) {\n throw new Error(`Could not find the \"Extensions\" React component arrow function.`);\n }\n\n const extensionsArrowFnFragment = extensionsArrowFn.getFirstDescendant(node => {\n return Node.isJsxFragment(node);\n });\n\n if (!extensionsArrowFnFragment) {\n throw new Error(`Could not find JSX fragment in Extensions component.`);\n }\n\n const currentContent = extensionsArrowFnFragment\n .getFullText()\n .replace(\"<>\", \"\")\n .replace(\"</>\", \"\")\n .trim();\n\n // Check if we already have the RegisterFeature components.\n if (!currentContent.includes(\"BuildParamsFeature\")) {\n const newContent = `<><RegisterFeature feature={BuildParamsFeature} /><RegisterFeature feature={BuildParamsInternalFeature} />${currentContent}</>`;\n extensionsArrowFnFragment.replaceWithText(newContent);\n }\n\n await source.save();\n}\n\nexport const AdminBuildParam = defineExtension({\n type: \"Admin/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"admin\" },\n description: \"Add build-time parameter to Admin app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.string(), z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"admin\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (!fs.existsSync(filePath)) {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/admin/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now we need to generate/update the feature file that imports all BuildParams.\n await generateBuildParamsFeature(buildParamsDir, ctx);\n }\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const AdminExtension: import("~/extensions/index.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
4
  exportName: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- src: string;
7
- exportName?: string | undefined;
8
- }, {
9
- src: string;
10
- exportName?: string | undefined;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const BuildParam: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  paramName: z.ZodString;
4
- value: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">, z.ZodNumber, z.ZodBoolean]>;
5
- }, "strip", z.ZodTypeAny, {
6
- value: string | number | boolean | any[] | Record<string, any>;
7
- paramName: string;
8
- }, {
9
- value: string | number | boolean | any[] | Record<string, any>;
10
- paramName: string;
11
- }>>;
4
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>, z.ZodNumber, z.ZodBoolean]>;
5
+ }, z.core.$strip>>;
@@ -15,7 +15,7 @@ export const BuildParam = defineExtension({
15
15
  paramsSchema: () => {
16
16
  return z.object({
17
17
  paramName: z.string(),
18
- value: z.union([z.string(), z.record(z.any()), z.array(z.any()), z.number(), z.boolean()])
18
+ value: z.union([z.string(), z.record(z.string(), z.any()), z.array(z.any()), z.number(), z.boolean()])
19
19
  });
20
20
  },
21
21
  async build(params, ctx) {
@@ -1 +1 @@
1
- {"version":3,"names":["z","Node","Project","defineExtension","crypto","path","fs","BuildParam","type","tags","runtimeContext","appName","description","multiple","paramsSchema","object","paramName","string","value","union","record","any","array","number","boolean","build","params","ctx","extensionsTsFilePath","project","paths","workspaceFolder","join","toString","buildParamsDir","valueStr","JSON","stringify","hash","createHash","update","digest","className","slice","fileName","filePath","existsSync","mkdirSync","recursive","fileContent","writeFileSync","addSourceFileAtPath","source","getSourceFileOrThrow","importPath","relative","dirname","replace","startsWith","existingImportDeclaration","getImportDeclaration","index","importDeclarations","getImportDeclarations","length","last","getChildIndex","insertImportDeclaration","defaultImport","moduleSpecifier","pluginsArray","getFirstDescendant","node","isArrayLiteralExpression","addElement","contextPluginImportPath","existingContextPluginImport","namedImports","save"],"sources":["ApiBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Node, Project, ArrayLiteralExpression } from \"ts-morph\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\n\nexport const BuildParam = defineExtension({\n type: \"Api/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"api\" },\n description: \"Add build-time parameter to API app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const extensionsTsFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"extensions.ts\")\n .toString();\n\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (fs.existsSync(filePath)) {\n // File exists, just ensure it's imported in extensions.ts\n } else {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/api/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now update extensions.ts to import and register this BuildParam.\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsFilePath);\n\n // Calculate import path relative to extensions.ts.\n let importPath = path\n .relative(path.dirname(extensionsTsFilePath), filePath)\n .replace(/\\.tsx?$/, \".js\");\n\n // Ensure the path starts with ./\n if (!importPath.startsWith(\".\")) {\n importPath = \"./\" + importPath;\n }\n\n // Check if import already exists.\n const existingImportDeclaration = source.getImportDeclaration(importPath);\n if (existingImportDeclaration) {\n return;\n }\n\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for the BuildParam implementation.\n source.insertImportDeclaration(index, {\n defaultImport: className,\n moduleSpecifier: importPath\n });\n\n // Add the registration to the plugins array.\n const pluginsArray = source.getFirstDescendant(node =>\n Node.isArrayLiteralExpression(node)\n ) as ArrayLiteralExpression;\n\n pluginsArray.addElement(\n `\\ncreateContextPlugin(ctx => {\\n\\tregisterExtension(ctx.container, ${className});\\n})`\n );\n\n {\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n const contextPluginImportPath = \"@webiny/api/plugins/ContextPlugin\";\n const existingContextPluginImport =\n source.getImportDeclaration(contextPluginImportPath);\n if (!existingContextPluginImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"createContextPlugin\"],\n moduleSpecifier: contextPluginImportPath\n });\n }\n }\n\n await source.save();\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["z","Node","Project","defineExtension","crypto","path","fs","BuildParam","type","tags","runtimeContext","appName","description","multiple","paramsSchema","object","paramName","string","value","union","record","any","array","number","boolean","build","params","ctx","extensionsTsFilePath","project","paths","workspaceFolder","join","toString","buildParamsDir","valueStr","JSON","stringify","hash","createHash","update","digest","className","slice","fileName","filePath","existsSync","mkdirSync","recursive","fileContent","writeFileSync","addSourceFileAtPath","source","getSourceFileOrThrow","importPath","relative","dirname","replace","startsWith","existingImportDeclaration","getImportDeclaration","index","importDeclarations","getImportDeclarations","length","last","getChildIndex","insertImportDeclaration","defaultImport","moduleSpecifier","pluginsArray","getFirstDescendant","node","isArrayLiteralExpression","addElement","contextPluginImportPath","existingContextPluginImport","namedImports","save"],"sources":["ApiBuildParam.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Node, Project, ArrayLiteralExpression } from \"ts-morph\";\nimport { defineExtension } from \"~/defineExtension/index.js\";\nimport crypto from \"crypto\";\nimport path from \"path\";\nimport fs from \"fs\";\n\nexport const BuildParam = defineExtension({\n type: \"Api/BuildParam\",\n tags: { runtimeContext: \"app-build\", appName: \"api\" },\n description: \"Add build-time parameter to API app.\",\n multiple: true,\n paramsSchema: () => {\n return z.object({\n paramName: z.string(),\n value: z.union([\n z.string(),\n z.record(z.string(), z.any()),\n z.array(z.any()),\n z.number(),\n z.boolean()\n ])\n });\n },\n async build(params, ctx) {\n const extensionsTsFilePath = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"extensions.ts\")\n .toString();\n\n const buildParamsDir = ctx.project.paths.workspaceFolder\n .join(\"apps\", \"api\", \"graphql\", \"src\", \"buildParams\")\n .toString();\n\n const { paramName, value } = params;\n\n // Serialize value to a TypeScript literal.\n const valueStr = JSON.stringify(value, null, 4);\n\n // Generate a unique class name based on the paramName.\n const hash = crypto.createHash(\"sha256\").update(paramName).digest(\"hex\");\n const className = `BuildParam_${hash.slice(-10)}`;\n const fileName = `${className}.ts`;\n const filePath = path.join(buildParamsDir, fileName);\n\n // Ensure buildParams directory exists.\n if (!fs.existsSync(buildParamsDir)) {\n fs.mkdirSync(buildParamsDir, { recursive: true });\n }\n\n // Check if file already exists.\n if (fs.existsSync(filePath)) {\n // File exists, just ensure it's imported in extensions.ts\n } else {\n // Create the BuildParam implementation file.\n const fileContent = `import { BuildParam } from \"webiny/api/build-params\";\n\nclass ${className} implements BuildParam.Interface {\n key = \"${paramName}\";\n value = ${valueStr};\n}\n\nexport default BuildParam.createImplementation({\n implementation: ${className},\n dependencies: []\n});\n`;\n fs.writeFileSync(filePath, fileContent, \"utf8\");\n }\n\n // Now update extensions.ts to import and register this BuildParam.\n const project = new Project();\n project.addSourceFileAtPath(extensionsTsFilePath);\n\n const source = project.getSourceFileOrThrow(extensionsTsFilePath);\n\n // Calculate import path relative to extensions.ts.\n let importPath = path\n .relative(path.dirname(extensionsTsFilePath), filePath)\n .replace(/\\.tsx?$/, \".js\");\n\n // Ensure the path starts with ./\n if (!importPath.startsWith(\".\")) {\n importPath = \"./\" + importPath;\n }\n\n // Check if import already exists.\n const existingImportDeclaration = source.getImportDeclaration(importPath);\n if (existingImportDeclaration) {\n return;\n }\n\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n // Add import for the BuildParam implementation.\n source.insertImportDeclaration(index, {\n defaultImport: className,\n moduleSpecifier: importPath\n });\n\n // Add the registration to the plugins array.\n const pluginsArray = source.getFirstDescendant(node =>\n Node.isArrayLiteralExpression(node)\n ) as ArrayLiteralExpression;\n\n pluginsArray.addElement(\n `\\ncreateContextPlugin(ctx => {\\n\\tregisterExtension(ctx.container, ${className});\\n})`\n );\n\n {\n let index = 1;\n\n const importDeclarations = source.getImportDeclarations();\n if (importDeclarations.length) {\n const last = importDeclarations[importDeclarations.length - 1];\n index = last.getChildIndex() + 1;\n }\n\n const contextPluginImportPath = \"@webiny/api/plugins/ContextPlugin\";\n const existingContextPluginImport =\n source.getImportDeclaration(contextPluginImportPath);\n if (!existingContextPluginImport) {\n source.insertImportDeclaration(index, {\n namedImports: [\"createContextPlugin\"],\n moduleSpecifier: contextPluginImportPath\n });\n }\n }\n\n await source.save();\n }\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const ApiExtension: import("~/extensions/index.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
4
  exportName: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- src: string;
7
- exportName?: string | undefined;
8
- }, {
9
- src: string;
10
- exportName?: string | undefined;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
2
  export declare const DatabaseSetup: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
- setupName: z.ZodEnum<["ddb", "ddb+es", "ddb+os"]>;
4
- }, "strip", z.ZodTypeAny, {
5
- setupName: "ddb" | "ddb+es" | "ddb+os";
6
- }, {
7
- setupName: "ddb" | "ddb+es" | "ddb+os";
8
- }>>;
3
+ setupName: z.ZodEnum<{
4
+ ddb: "ddb";
5
+ "ddb+es": "ddb+es";
6
+ "ddb+os": "ddb+os";
7
+ }>;
8
+ }, z.core.$strip>>;
@@ -2,10 +2,4 @@ import { z } from "zod";
2
2
  export declare const EnvVar: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  varName: z.ZodString;
4
4
  value: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- value: string;
7
- varName: string;
8
- }, {
9
- value: string;
10
- varName: string;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const ExtensionDefinitions: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
3
  src: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- src: string;
6
- }, {
7
- src: string;
8
- }>>;
4
+ }, z.core.$strip>>;
@@ -3,90 +3,16 @@ export declare const FeatureFlags: import("~/defineExtension/index.js").Extensio
3
3
  features: z.ZodObject<{
4
4
  multiTenancy: z.ZodOptional<z.ZodBoolean>;
5
5
  advancedPublishingWorkflow: z.ZodOptional<z.ZodBoolean>;
6
- advancedAccessControlLayer: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
6
+ advancedAccessControlLayer: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
7
7
  teams: z.ZodOptional<z.ZodBoolean>;
8
8
  privateFiles: z.ZodOptional<z.ZodBoolean>;
9
9
  folderLevelPermissions: z.ZodOptional<z.ZodBoolean>;
10
10
  hcmsFieldPermissions: z.ZodOptional<z.ZodBoolean>;
11
- }, "strip", z.ZodTypeAny, {
12
- teams?: boolean | undefined;
13
- privateFiles?: boolean | undefined;
14
- folderLevelPermissions?: boolean | undefined;
15
- hcmsFieldPermissions?: boolean | undefined;
16
- }, {
17
- teams?: boolean | undefined;
18
- privateFiles?: boolean | undefined;
19
- folderLevelPermissions?: boolean | undefined;
20
- hcmsFieldPermissions?: boolean | undefined;
21
- }>]>>;
11
+ }, z.core.$strip>]>>;
22
12
  auditLogs: z.ZodOptional<z.ZodBoolean>;
23
13
  recordLocking: z.ZodOptional<z.ZodBoolean>;
24
14
  fileManager: z.ZodOptional<z.ZodObject<{
25
15
  threatDetection: z.ZodOptional<z.ZodBoolean>;
26
- }, "strip", z.ZodTypeAny, {
27
- threatDetection?: boolean | undefined;
28
- }, {
29
- threatDetection?: boolean | undefined;
30
- }>>;
31
- }, "strip", z.ZodTypeAny, {
32
- multiTenancy?: boolean | undefined;
33
- advancedPublishingWorkflow?: boolean | undefined;
34
- advancedAccessControlLayer?: boolean | {
35
- teams?: boolean | undefined;
36
- privateFiles?: boolean | undefined;
37
- folderLevelPermissions?: boolean | undefined;
38
- hcmsFieldPermissions?: boolean | undefined;
39
- } | undefined;
40
- auditLogs?: boolean | undefined;
41
- recordLocking?: boolean | undefined;
42
- fileManager?: {
43
- threatDetection?: boolean | undefined;
44
- } | undefined;
45
- }, {
46
- multiTenancy?: boolean | undefined;
47
- advancedPublishingWorkflow?: boolean | undefined;
48
- advancedAccessControlLayer?: boolean | {
49
- teams?: boolean | undefined;
50
- privateFiles?: boolean | undefined;
51
- folderLevelPermissions?: boolean | undefined;
52
- hcmsFieldPermissions?: boolean | undefined;
53
- } | undefined;
54
- auditLogs?: boolean | undefined;
55
- recordLocking?: boolean | undefined;
56
- fileManager?: {
57
- threatDetection?: boolean | undefined;
58
- } | undefined;
59
- }>;
60
- }, "strip", z.ZodTypeAny, {
61
- features: {
62
- multiTenancy?: boolean | undefined;
63
- advancedPublishingWorkflow?: boolean | undefined;
64
- advancedAccessControlLayer?: boolean | {
65
- teams?: boolean | undefined;
66
- privateFiles?: boolean | undefined;
67
- folderLevelPermissions?: boolean | undefined;
68
- hcmsFieldPermissions?: boolean | undefined;
69
- } | undefined;
70
- auditLogs?: boolean | undefined;
71
- recordLocking?: boolean | undefined;
72
- fileManager?: {
73
- threatDetection?: boolean | undefined;
74
- } | undefined;
75
- };
76
- }, {
77
- features: {
78
- multiTenancy?: boolean | undefined;
79
- advancedPublishingWorkflow?: boolean | undefined;
80
- advancedAccessControlLayer?: boolean | {
81
- teams?: boolean | undefined;
82
- privateFiles?: boolean | undefined;
83
- folderLevelPermissions?: boolean | undefined;
84
- hcmsFieldPermissions?: boolean | undefined;
85
- } | undefined;
86
- auditLogs?: boolean | undefined;
87
- recordLocking?: boolean | undefined;
88
- fileManager?: {
89
- threatDetection?: boolean | undefined;
90
- } | undefined;
91
- };
92
- }>>;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>;
18
+ }, z.core.$strip>>;
@@ -23,7 +23,7 @@ class EnsureTelemetryEnabledForOssImpl {
23
23
 
24
24
  // If telemetry is disabled and WCP is not connected, throw an error
25
25
  if (!telemetryEnabled && !wcpEnabled) {
26
- const message = [`You are trying to deploy your project, but telemetry is currently disabled.`, `The open-source edition of Webiny requires telemetry to be enabled.`, `Please re-enable telemetry to proceed with the deployment, or connect your project to Webiny Control Panel (WCP).`, `Learn more: https://webiny.link/telemetry-oss`].join(" ");
26
+ const message = [`You are trying to deploy your project, but telemetry is currently disabled.`, `The open-source edition of Webiny requires telemetry to be enabled.`, `To proceed with the deployment, please re-enable telemetry or upgrade your project via https://www.webiny.com/pricing.`, `Learn more: https://webiny.link/telemetry-oss`].join(" ");
27
27
  const error = new Error("Cannot deploy with telemetry disabled in OSS edition.");
28
28
  throw GracefulError.from(error, message);
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BeforeDeploy","IsCi","IsTelemetryEnabled","IsWcpEnabled","IsWebinyJsRepo","GracefulError","EnsureTelemetryEnabledForOssImpl","constructor","isTelemetryEnabled","isWcpEnabled","isWebinyJsRepo","isCi","execute","isDevRepo","telemetryEnabled","wcpEnabled","message","join","error","Error","from","EnsureTelemetryEnabledForOss","createImplementation","implementation","dependencies"],"sources":["EnsureTelemetryEnabledForOss.ts"],"sourcesContent":["import {\n BeforeDeploy,\n IsCi,\n IsTelemetryEnabled,\n IsWcpEnabled,\n IsWebinyJsRepo\n} from \"~/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\n\nclass EnsureTelemetryEnabledForOssImpl implements BeforeDeploy.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private isWcpEnabled: IsWcpEnabled.Interface,\n private isWebinyJsRepo: IsWebinyJsRepo.Interface,\n private isCi: IsCi.Interface\n ) {}\n\n async execute() {\n // Skip telemetry checks in CI environments\n if (this.isCi.execute()) {\n return;\n }\n\n // Don't enforce telemetry validation in the webiny-js development repository\n const isDevRepo = this.isWebinyJsRepo.execute();\n if (isDevRepo) {\n return;\n }\n\n const telemetryEnabled = await this.isTelemetryEnabled.execute();\n const wcpEnabled = await this.isWcpEnabled.execute();\n\n // If telemetry is disabled and WCP is not connected, throw an error\n if (!telemetryEnabled && !wcpEnabled) {\n const message = [\n `You are trying to deploy your project, but telemetry is currently disabled.`,\n `The open-source edition of Webiny requires telemetry to be enabled.`,\n `Please re-enable telemetry to proceed with the deployment, or connect your project to Webiny Control Panel (WCP).`,\n `Learn more: https://webiny.link/telemetry-oss`\n ].join(\" \");\n\n const error = new Error(\"Cannot deploy with telemetry disabled in OSS edition.\");\n\n throw GracefulError.from(error, message);\n }\n }\n}\n\nexport const EnsureTelemetryEnabledForOss = BeforeDeploy.createImplementation({\n implementation: EnsureTelemetryEnabledForOssImpl,\n dependencies: [IsTelemetryEnabled, IsWcpEnabled, IsWebinyJsRepo, IsCi]\n});\n"],"mappings":"AAAA,SACIA,YAAY,EACZC,IAAI,EACJC,kBAAkB,EAClBC,YAAY,EACZC,cAAc;AAElB,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,gCAAgC,CAAmC;EACrEC,WAAWA,CACCC,kBAAgD,EAChDC,YAAoC,EACpCC,cAAwC,EACxCC,IAAoB,EAC9B;IAAA,KAJUH,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,IAAoB,GAApBA,IAAoB;EAC7B;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ;IACA,IAAI,IAAI,CAACD,IAAI,CAACC,OAAO,CAAC,CAAC,EAAE;MACrB;IACJ;;IAEA;IACA,MAAMC,SAAS,GAAG,IAAI,CAACH,cAAc,CAACE,OAAO,CAAC,CAAC;IAC/C,IAAIC,SAAS,EAAE;MACX;IACJ;IAEA,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACI,OAAO,CAAC,CAAC;IAChE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACN,YAAY,CAACG,OAAO,CAAC,CAAC;;IAEpD;IACA,IAAI,CAACE,gBAAgB,IAAI,CAACC,UAAU,EAAE;MAClC,MAAMC,OAAO,GAAG,CACZ,6EAA6E,EAC7E,qEAAqE,EACrE,mHAAmH,EACnH,+CAA+C,CAClD,CAACC,IAAI,CAAC,GAAG,CAAC;MAEX,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,uDAAuD,CAAC;MAEhF,MAAMd,aAAa,CAACe,IAAI,CAACF,KAAK,EAAEF,OAAO,CAAC;IAC5C;EACJ;AACJ;AAEA,OAAO,MAAMK,4BAA4B,GAAGrB,YAAY,CAACsB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEjB,gCAAgC;EAChDkB,YAAY,EAAE,CAACtB,kBAAkB,EAAEC,YAAY,EAAEC,cAAc,EAAEH,IAAI;AACzE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BeforeDeploy","IsCi","IsTelemetryEnabled","IsWcpEnabled","IsWebinyJsRepo","GracefulError","EnsureTelemetryEnabledForOssImpl","constructor","isTelemetryEnabled","isWcpEnabled","isWebinyJsRepo","isCi","execute","isDevRepo","telemetryEnabled","wcpEnabled","message","join","error","Error","from","EnsureTelemetryEnabledForOss","createImplementation","implementation","dependencies"],"sources":["EnsureTelemetryEnabledForOss.ts"],"sourcesContent":["import {\n BeforeDeploy,\n IsCi,\n IsTelemetryEnabled,\n IsWcpEnabled,\n IsWebinyJsRepo\n} from \"~/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\n\nclass EnsureTelemetryEnabledForOssImpl implements BeforeDeploy.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private isWcpEnabled: IsWcpEnabled.Interface,\n private isWebinyJsRepo: IsWebinyJsRepo.Interface,\n private isCi: IsCi.Interface\n ) {}\n\n async execute() {\n // Skip telemetry checks in CI environments\n if (this.isCi.execute()) {\n return;\n }\n\n // Don't enforce telemetry validation in the webiny-js development repository\n const isDevRepo = this.isWebinyJsRepo.execute();\n if (isDevRepo) {\n return;\n }\n\n const telemetryEnabled = await this.isTelemetryEnabled.execute();\n const wcpEnabled = await this.isWcpEnabled.execute();\n\n // If telemetry is disabled and WCP is not connected, throw an error\n if (!telemetryEnabled && !wcpEnabled) {\n const message = [\n `You are trying to deploy your project, but telemetry is currently disabled.`,\n `The open-source edition of Webiny requires telemetry to be enabled.`,\n `To proceed with the deployment, please re-enable telemetry or upgrade your project via https://www.webiny.com/pricing.`,\n `Learn more: https://webiny.link/telemetry-oss`\n ].join(\" \");\n\n const error = new Error(\"Cannot deploy with telemetry disabled in OSS edition.\");\n\n throw GracefulError.from(error, message);\n }\n }\n}\n\nexport const EnsureTelemetryEnabledForOss = BeforeDeploy.createImplementation({\n implementation: EnsureTelemetryEnabledForOssImpl,\n dependencies: [IsTelemetryEnabled, IsWcpEnabled, IsWebinyJsRepo, IsCi]\n});\n"],"mappings":"AAAA,SACIA,YAAY,EACZC,IAAI,EACJC,kBAAkB,EAClBC,YAAY,EACZC,cAAc;AAElB,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,gCAAgC,CAAmC;EACrEC,WAAWA,CACCC,kBAAgD,EAChDC,YAAoC,EACpCC,cAAwC,EACxCC,IAAoB,EAC9B;IAAA,KAJUH,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,IAAoB,GAApBA,IAAoB;EAC7B;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ;IACA,IAAI,IAAI,CAACD,IAAI,CAACC,OAAO,CAAC,CAAC,EAAE;MACrB;IACJ;;IAEA;IACA,MAAMC,SAAS,GAAG,IAAI,CAACH,cAAc,CAACE,OAAO,CAAC,CAAC;IAC/C,IAAIC,SAAS,EAAE;MACX;IACJ;IAEA,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACI,OAAO,CAAC,CAAC;IAChE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACN,YAAY,CAACG,OAAO,CAAC,CAAC;;IAEpD;IACA,IAAI,CAACE,gBAAgB,IAAI,CAACC,UAAU,EAAE;MAClC,MAAMC,OAAO,GAAG,CACZ,6EAA6E,EAC7E,qEAAqE,EACrE,wHAAwH,EACxH,+CAA+C,CAClD,CAACC,IAAI,CAAC,GAAG,CAAC;MAEX,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,uDAAuD,CAAC;MAEhF,MAAMd,aAAa,CAACe,IAAI,CAACF,KAAK,EAAEF,OAAO,CAAC;IAC5C;EACJ;AACJ;AAEA,OAAO,MAAMK,4BAA4B,GAAGrB,YAAY,CAACsB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEjB,gCAAgC;EAChDkB,YAAY,EAAE,CAACtB,kBAAkB,EAAEC,YAAY,EAAEC,cAAc,EAAEH,IAAI;AACzE,CAAC,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ class SetAdminAppEnvVarsBeforeBuildImpl {
12
12
  const projectVersion = this.getProjectVersionService.execute();
13
13
  const telemetry = await this.isTelemetryEnabled.execute();
14
14
  if (projectId) {
15
+ process.env.REACT_APP_WEBINY_PROJECT_ID = projectId;
15
16
  process.env.REACT_APP_WCP_PROJECT_ID = projectId;
16
17
  }
17
18
  if (!("REACT_APP_WEBINY_TELEMETRY" in process.env)) {
@@ -1 +1 @@
1
- {"version":3,"names":["AdminBeforeBuild","GetProjectIdService","GetProjectVersionService","IsTelemetryEnabled","globalConfig","isCI","SetAdminAppEnvVarsBeforeBuildImpl","constructor","isTelemetryEnabled","getProjectIdService","getProjectVersionService","execute","projectId","projectVersion","telemetry","process","env","REACT_APP_WCP_PROJECT_ID","REACT_APP_WEBINY_TELEMETRY","String","REACT_APP_WEBINY_TELEMETRY_USER_ID","get","newUser","Boolean","toString","REACT_APP_WEBINY_TELEMETRY_NEW_USER","INLINE_RUNTIME_CHUNK","REACT_APP_IS_CI","REACT_APP_WEBINY_VERSION","SetAdminAppEnvVarsBeforeBuild","createImplementation","implementation","dependencies"],"sources":["SetAdminAppEnvVarsBeforeBuild.ts"],"sourcesContent":["import {\n AdminBeforeBuild,\n GetProjectIdService,\n GetProjectVersionService,\n IsTelemetryEnabled\n} from \"~/abstractions/index.js\";\nimport { globalConfig } from \"@webiny/global-config\";\nimport { isCI } from \"ci-info\";\n\nclass SetAdminAppEnvVarsBeforeBuildImpl implements AdminBeforeBuild.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private getProjectIdService: GetProjectIdService.Interface,\n private getProjectVersionService: GetProjectVersionService.Interface\n ) {}\n\n async execute() {\n const projectId = await this.getProjectIdService.execute();\n const projectVersion = this.getProjectVersionService.execute();\n\n const telemetry = await this.isTelemetryEnabled.execute();\n\n if (projectId) {\n process.env.REACT_APP_WCP_PROJECT_ID = projectId;\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY = String(telemetry);\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_USER_ID\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID = globalConfig.get(\"id\");\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_NEW_USER\" in process.env)) {\n const newUser = Boolean(globalConfig.get(\"newUser\")).toString();\n process.env.REACT_APP_WEBINY_TELEMETRY_NEW_USER = newUser;\n }\n\n if (!(\"INLINE_RUNTIME_CHUNK\" in process.env)) {\n process.env.INLINE_RUNTIME_CHUNK = \"true\";\n }\n\n if (!(\"REACT_APP_IS_CI\" in process.env)) {\n process.env.REACT_APP_IS_CI = Boolean(isCI).toString();\n }\n\n if (!(\"REACT_APP_WEBINY_VERSION\" in process.env)) {\n process.env.REACT_APP_WEBINY_VERSION = projectVersion;\n }\n }\n}\n\nexport const SetAdminAppEnvVarsBeforeBuild = AdminBeforeBuild.createImplementation({\n implementation: SetAdminAppEnvVarsBeforeBuildImpl,\n dependencies: [IsTelemetryEnabled, GetProjectIdService, GetProjectVersionService]\n});\n"],"mappings":"AAAA,SACIA,gBAAgB,EAChBC,mBAAmB,EACnBC,wBAAwB,EACxBC,kBAAkB;AAEtB,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,IAAI,QAAQ,SAAS;AAE9B,MAAMC,iCAAiC,CAAuC;EAC1EC,WAAWA,CACCC,kBAAgD,EAChDC,mBAAkD,EAClDC,wBAA4D,EACtE;IAAA,KAHUF,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,wBAA4D,GAA5DA,wBAA4D;EACrE;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACE,OAAO,CAAC,CAAC;IAC1D,MAAME,cAAc,GAAG,IAAI,CAACH,wBAAwB,CAACC,OAAO,CAAC,CAAC;IAE9D,MAAMG,SAAS,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACG,OAAO,CAAC,CAAC;IAEzD,IAAIC,SAAS,EAAE;MACXG,OAAO,CAACC,GAAG,CAACC,wBAAwB,GAAGL,SAAS;IACpD;IAEA,IAAI,EAAE,4BAA4B,IAAIG,OAAO,CAACC,GAAG,CAAC,EAAE;MAChDD,OAAO,CAACC,GAAG,CAACE,0BAA0B,GAAGC,MAAM,CAACL,SAAS,CAAC;IAC9D;IAEA,IAAI,EAAE,oCAAoC,IAAIC,OAAO,CAACC,GAAG,CAAC,EAAE;MACxDD,OAAO,CAACC,GAAG,CAACI,kCAAkC,GAAGhB,YAAY,CAACiB,GAAG,CAAC,IAAI,CAAC;IAC3E;IAEA,IAAI,EAAE,qCAAqC,IAAIN,OAAO,CAACC,GAAG,CAAC,EAAE;MACzD,MAAMM,OAAO,GAAGC,OAAO,CAACnB,YAAY,CAACiB,GAAG,CAAC,SAAS,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;MAC/DT,OAAO,CAACC,GAAG,CAACS,mCAAmC,GAAGH,OAAO;IAC7D;IAEA,IAAI,EAAE,sBAAsB,IAAIP,OAAO,CAACC,GAAG,CAAC,EAAE;MAC1CD,OAAO,CAACC,GAAG,CAACU,oBAAoB,GAAG,MAAM;IAC7C;IAEA,IAAI,EAAE,iBAAiB,IAAIX,OAAO,CAACC,GAAG,CAAC,EAAE;MACrCD,OAAO,CAACC,GAAG,CAACW,eAAe,GAAGJ,OAAO,CAAClB,IAAI,CAAC,CAACmB,QAAQ,CAAC,CAAC;IAC1D;IAEA,IAAI,EAAE,0BAA0B,IAAIT,OAAO,CAACC,GAAG,CAAC,EAAE;MAC9CD,OAAO,CAACC,GAAG,CAACY,wBAAwB,GAAGf,cAAc;IACzD;EACJ;AACJ;AAEA,OAAO,MAAMgB,6BAA6B,GAAG7B,gBAAgB,CAAC8B,oBAAoB,CAAC;EAC/EC,cAAc,EAAEzB,iCAAiC;EACjD0B,YAAY,EAAE,CAAC7B,kBAAkB,EAAEF,mBAAmB,EAAEC,wBAAwB;AACpF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AdminBeforeBuild","GetProjectIdService","GetProjectVersionService","IsTelemetryEnabled","globalConfig","isCI","SetAdminAppEnvVarsBeforeBuildImpl","constructor","isTelemetryEnabled","getProjectIdService","getProjectVersionService","execute","projectId","projectVersion","telemetry","process","env","REACT_APP_WEBINY_PROJECT_ID","REACT_APP_WCP_PROJECT_ID","REACT_APP_WEBINY_TELEMETRY","String","REACT_APP_WEBINY_TELEMETRY_USER_ID","get","newUser","Boolean","toString","REACT_APP_WEBINY_TELEMETRY_NEW_USER","INLINE_RUNTIME_CHUNK","REACT_APP_IS_CI","REACT_APP_WEBINY_VERSION","SetAdminAppEnvVarsBeforeBuild","createImplementation","implementation","dependencies"],"sources":["SetAdminAppEnvVarsBeforeBuild.ts"],"sourcesContent":["import {\n AdminBeforeBuild,\n GetProjectIdService,\n GetProjectVersionService,\n IsTelemetryEnabled\n} from \"~/abstractions/index.js\";\nimport { globalConfig } from \"@webiny/global-config\";\nimport { isCI } from \"ci-info\";\n\nclass SetAdminAppEnvVarsBeforeBuildImpl implements AdminBeforeBuild.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private getProjectIdService: GetProjectIdService.Interface,\n private getProjectVersionService: GetProjectVersionService.Interface\n ) {}\n\n async execute() {\n const projectId = await this.getProjectIdService.execute();\n const projectVersion = this.getProjectVersionService.execute();\n\n const telemetry = await this.isTelemetryEnabled.execute();\n\n if (projectId) {\n process.env.REACT_APP_WEBINY_PROJECT_ID = projectId;\n process.env.REACT_APP_WCP_PROJECT_ID = projectId;\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY = String(telemetry);\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_USER_ID\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID = globalConfig.get(\"id\");\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_NEW_USER\" in process.env)) {\n const newUser = Boolean(globalConfig.get(\"newUser\")).toString();\n process.env.REACT_APP_WEBINY_TELEMETRY_NEW_USER = newUser;\n }\n\n if (!(\"INLINE_RUNTIME_CHUNK\" in process.env)) {\n process.env.INLINE_RUNTIME_CHUNK = \"true\";\n }\n\n if (!(\"REACT_APP_IS_CI\" in process.env)) {\n process.env.REACT_APP_IS_CI = Boolean(isCI).toString();\n }\n\n if (!(\"REACT_APP_WEBINY_VERSION\" in process.env)) {\n process.env.REACT_APP_WEBINY_VERSION = projectVersion;\n }\n }\n}\n\nexport const SetAdminAppEnvVarsBeforeBuild = AdminBeforeBuild.createImplementation({\n implementation: SetAdminAppEnvVarsBeforeBuildImpl,\n dependencies: [IsTelemetryEnabled, GetProjectIdService, GetProjectVersionService]\n});\n"],"mappings":"AAAA,SACIA,gBAAgB,EAChBC,mBAAmB,EACnBC,wBAAwB,EACxBC,kBAAkB;AAEtB,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,IAAI,QAAQ,SAAS;AAE9B,MAAMC,iCAAiC,CAAuC;EAC1EC,WAAWA,CACCC,kBAAgD,EAChDC,mBAAkD,EAClDC,wBAA4D,EACtE;IAAA,KAHUF,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,wBAA4D,GAA5DA,wBAA4D;EACrE;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACE,OAAO,CAAC,CAAC;IAC1D,MAAME,cAAc,GAAG,IAAI,CAACH,wBAAwB,CAACC,OAAO,CAAC,CAAC;IAE9D,MAAMG,SAAS,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACG,OAAO,CAAC,CAAC;IAEzD,IAAIC,SAAS,EAAE;MACXG,OAAO,CAACC,GAAG,CAACC,2BAA2B,GAAGL,SAAS;MACnDG,OAAO,CAACC,GAAG,CAACE,wBAAwB,GAAGN,SAAS;IACpD;IAEA,IAAI,EAAE,4BAA4B,IAAIG,OAAO,CAACC,GAAG,CAAC,EAAE;MAChDD,OAAO,CAACC,GAAG,CAACG,0BAA0B,GAAGC,MAAM,CAACN,SAAS,CAAC;IAC9D;IAEA,IAAI,EAAE,oCAAoC,IAAIC,OAAO,CAACC,GAAG,CAAC,EAAE;MACxDD,OAAO,CAACC,GAAG,CAACK,kCAAkC,GAAGjB,YAAY,CAACkB,GAAG,CAAC,IAAI,CAAC;IAC3E;IAEA,IAAI,EAAE,qCAAqC,IAAIP,OAAO,CAACC,GAAG,CAAC,EAAE;MACzD,MAAMO,OAAO,GAAGC,OAAO,CAACpB,YAAY,CAACkB,GAAG,CAAC,SAAS,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;MAC/DV,OAAO,CAACC,GAAG,CAACU,mCAAmC,GAAGH,OAAO;IAC7D;IAEA,IAAI,EAAE,sBAAsB,IAAIR,OAAO,CAACC,GAAG,CAAC,EAAE;MAC1CD,OAAO,CAACC,GAAG,CAACW,oBAAoB,GAAG,MAAM;IAC7C;IAEA,IAAI,EAAE,iBAAiB,IAAIZ,OAAO,CAACC,GAAG,CAAC,EAAE;MACrCD,OAAO,CAACC,GAAG,CAACY,eAAe,GAAGJ,OAAO,CAACnB,IAAI,CAAC,CAACoB,QAAQ,CAAC,CAAC;IAC1D;IAEA,IAAI,EAAE,0BAA0B,IAAIV,OAAO,CAACC,GAAG,CAAC,EAAE;MAC9CD,OAAO,CAACC,GAAG,CAACa,wBAAwB,GAAGhB,cAAc;IACzD;EACJ;AACJ;AAEA,OAAO,MAAMiB,6BAA6B,GAAG9B,gBAAgB,CAAC+B,oBAAoB,CAAC;EAC/EC,cAAc,EAAE1B,iCAAiC;EACjD2B,YAAY,EAAE,CAAC9B,kBAAkB,EAAEF,mBAAmB,EAAEC,wBAAwB;AACpF,CAAC,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ class SetAdminAppEnvVarsBeforeWatchImpl {
12
12
  const projectVersion = this.getProjectVersionService.execute();
13
13
  const telemetry = await this.isTelemetryEnabled.execute();
14
14
  if (projectId) {
15
+ process.env.REACT_APP_WEBINY_PROJECT_ID = projectId;
15
16
  process.env.REACT_APP_WCP_PROJECT_ID = projectId;
16
17
  }
17
18
  if (!("REACT_APP_WEBINY_TELEMETRY" in process.env)) {
@@ -1 +1 @@
1
- {"version":3,"names":["AdminBeforeWatch","IsTelemetryEnabled","GetProjectIdService","GetProjectVersionService","globalConfig","isCI","SetAdminAppEnvVarsBeforeWatchImpl","constructor","isTelemetryEnabled","getProjectIdService","getProjectVersionService","execute","projectId","projectVersion","telemetry","process","env","REACT_APP_WCP_PROJECT_ID","REACT_APP_WEBINY_TELEMETRY","String","REACT_APP_WEBINY_TELEMETRY_USER_ID","get","newUser","Boolean","toString","REACT_APP_WEBINY_TELEMETRY_NEW_USER","INLINE_RUNTIME_CHUNK","REACT_APP_IS_CI","REACT_APP_WEBINY_VERSION","SetAdminAppEnvVarsBeforeWatch","createImplementation","implementation","dependencies"],"sources":["SetAdminAppEnvVarsBeforeWatch.ts"],"sourcesContent":["import {\n AdminBeforeWatch,\n IsTelemetryEnabled,\n GetProjectIdService,\n GetProjectVersionService\n} from \"~/abstractions/index.js\";\nimport { globalConfig } from \"@webiny/global-config\";\nimport { isCI } from \"ci-info\";\n\nclass SetAdminAppEnvVarsBeforeWatchImpl implements AdminBeforeWatch.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private getProjectIdService: GetProjectIdService.Interface,\n private getProjectVersionService: GetProjectVersionService.Interface\n ) {}\n\n async execute() {\n const projectId = await this.getProjectIdService.execute();\n const projectVersion = this.getProjectVersionService.execute();\n\n const telemetry = await this.isTelemetryEnabled.execute();\n\n if (projectId) {\n process.env.REACT_APP_WCP_PROJECT_ID = projectId;\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY = String(telemetry);\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_USER_ID\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID = globalConfig.get(\"id\");\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_NEW_USER\" in process.env)) {\n const newUser = Boolean(globalConfig.get(\"newUser\")).toString();\n process.env.REACT_APP_WEBINY_TELEMETRY_NEW_USER = newUser;\n }\n\n if (!(\"INLINE_RUNTIME_CHUNK\" in process.env)) {\n process.env.INLINE_RUNTIME_CHUNK = \"true\";\n }\n\n if (!(\"REACT_APP_IS_CI\" in process.env)) {\n process.env.REACT_APP_IS_CI = Boolean(isCI).toString();\n }\n\n if (!(\"REACT_APP_WEBINY_VERSION\" in process.env)) {\n process.env.REACT_APP_WEBINY_VERSION = projectVersion;\n }\n }\n}\n\nexport const SetAdminAppEnvVarsBeforeWatch = AdminBeforeWatch.createImplementation({\n implementation: SetAdminAppEnvVarsBeforeWatchImpl,\n dependencies: [IsTelemetryEnabled, GetProjectIdService, GetProjectVersionService]\n});\n"],"mappings":"AAAA,SACIA,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,EACnBC,wBAAwB;AAE5B,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,IAAI,QAAQ,SAAS;AAE9B,MAAMC,iCAAiC,CAAuC;EAC1EC,WAAWA,CACCC,kBAAgD,EAChDC,mBAAkD,EAClDC,wBAA4D,EACtE;IAAA,KAHUF,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,wBAA4D,GAA5DA,wBAA4D;EACrE;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACE,OAAO,CAAC,CAAC;IAC1D,MAAME,cAAc,GAAG,IAAI,CAACH,wBAAwB,CAACC,OAAO,CAAC,CAAC;IAE9D,MAAMG,SAAS,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACG,OAAO,CAAC,CAAC;IAEzD,IAAIC,SAAS,EAAE;MACXG,OAAO,CAACC,GAAG,CAACC,wBAAwB,GAAGL,SAAS;IACpD;IAEA,IAAI,EAAE,4BAA4B,IAAIG,OAAO,CAACC,GAAG,CAAC,EAAE;MAChDD,OAAO,CAACC,GAAG,CAACE,0BAA0B,GAAGC,MAAM,CAACL,SAAS,CAAC;IAC9D;IAEA,IAAI,EAAE,oCAAoC,IAAIC,OAAO,CAACC,GAAG,CAAC,EAAE;MACxDD,OAAO,CAACC,GAAG,CAACI,kCAAkC,GAAGhB,YAAY,CAACiB,GAAG,CAAC,IAAI,CAAC;IAC3E;IAEA,IAAI,EAAE,qCAAqC,IAAIN,OAAO,CAACC,GAAG,CAAC,EAAE;MACzD,MAAMM,OAAO,GAAGC,OAAO,CAACnB,YAAY,CAACiB,GAAG,CAAC,SAAS,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;MAC/DT,OAAO,CAACC,GAAG,CAACS,mCAAmC,GAAGH,OAAO;IAC7D;IAEA,IAAI,EAAE,sBAAsB,IAAIP,OAAO,CAACC,GAAG,CAAC,EAAE;MAC1CD,OAAO,CAACC,GAAG,CAACU,oBAAoB,GAAG,MAAM;IAC7C;IAEA,IAAI,EAAE,iBAAiB,IAAIX,OAAO,CAACC,GAAG,CAAC,EAAE;MACrCD,OAAO,CAACC,GAAG,CAACW,eAAe,GAAGJ,OAAO,CAAClB,IAAI,CAAC,CAACmB,QAAQ,CAAC,CAAC;IAC1D;IAEA,IAAI,EAAE,0BAA0B,IAAIT,OAAO,CAACC,GAAG,CAAC,EAAE;MAC9CD,OAAO,CAACC,GAAG,CAACY,wBAAwB,GAAGf,cAAc;IACzD;EACJ;AACJ;AAEA,OAAO,MAAMgB,6BAA6B,GAAG7B,gBAAgB,CAAC8B,oBAAoB,CAAC;EAC/EC,cAAc,EAAEzB,iCAAiC;EACjD0B,YAAY,EAAE,CAAC/B,kBAAkB,EAAEC,mBAAmB,EAAEC,wBAAwB;AACpF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AdminBeforeWatch","IsTelemetryEnabled","GetProjectIdService","GetProjectVersionService","globalConfig","isCI","SetAdminAppEnvVarsBeforeWatchImpl","constructor","isTelemetryEnabled","getProjectIdService","getProjectVersionService","execute","projectId","projectVersion","telemetry","process","env","REACT_APP_WEBINY_PROJECT_ID","REACT_APP_WCP_PROJECT_ID","REACT_APP_WEBINY_TELEMETRY","String","REACT_APP_WEBINY_TELEMETRY_USER_ID","get","newUser","Boolean","toString","REACT_APP_WEBINY_TELEMETRY_NEW_USER","INLINE_RUNTIME_CHUNK","REACT_APP_IS_CI","REACT_APP_WEBINY_VERSION","SetAdminAppEnvVarsBeforeWatch","createImplementation","implementation","dependencies"],"sources":["SetAdminAppEnvVarsBeforeWatch.ts"],"sourcesContent":["import {\n AdminBeforeWatch,\n IsTelemetryEnabled,\n GetProjectIdService,\n GetProjectVersionService\n} from \"~/abstractions/index.js\";\nimport { globalConfig } from \"@webiny/global-config\";\nimport { isCI } from \"ci-info\";\n\nclass SetAdminAppEnvVarsBeforeWatchImpl implements AdminBeforeWatch.Interface {\n constructor(\n private isTelemetryEnabled: IsTelemetryEnabled.Interface,\n private getProjectIdService: GetProjectIdService.Interface,\n private getProjectVersionService: GetProjectVersionService.Interface\n ) {}\n\n async execute() {\n const projectId = await this.getProjectIdService.execute();\n const projectVersion = this.getProjectVersionService.execute();\n\n const telemetry = await this.isTelemetryEnabled.execute();\n\n if (projectId) {\n process.env.REACT_APP_WEBINY_PROJECT_ID = projectId;\n process.env.REACT_APP_WCP_PROJECT_ID = projectId;\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY = String(telemetry);\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_USER_ID\" in process.env)) {\n process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID = globalConfig.get(\"id\");\n }\n\n if (!(\"REACT_APP_WEBINY_TELEMETRY_NEW_USER\" in process.env)) {\n const newUser = Boolean(globalConfig.get(\"newUser\")).toString();\n process.env.REACT_APP_WEBINY_TELEMETRY_NEW_USER = newUser;\n }\n\n if (!(\"INLINE_RUNTIME_CHUNK\" in process.env)) {\n process.env.INLINE_RUNTIME_CHUNK = \"true\";\n }\n\n if (!(\"REACT_APP_IS_CI\" in process.env)) {\n process.env.REACT_APP_IS_CI = Boolean(isCI).toString();\n }\n\n if (!(\"REACT_APP_WEBINY_VERSION\" in process.env)) {\n process.env.REACT_APP_WEBINY_VERSION = projectVersion;\n }\n }\n}\n\nexport const SetAdminAppEnvVarsBeforeWatch = AdminBeforeWatch.createImplementation({\n implementation: SetAdminAppEnvVarsBeforeWatchImpl,\n dependencies: [IsTelemetryEnabled, GetProjectIdService, GetProjectVersionService]\n});\n"],"mappings":"AAAA,SACIA,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,EACnBC,wBAAwB;AAE5B,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,IAAI,QAAQ,SAAS;AAE9B,MAAMC,iCAAiC,CAAuC;EAC1EC,WAAWA,CACCC,kBAAgD,EAChDC,mBAAkD,EAClDC,wBAA4D,EACtE;IAAA,KAHUF,kBAAgD,GAAhDA,kBAAgD;IAAA,KAChDC,mBAAkD,GAAlDA,mBAAkD;IAAA,KAClDC,wBAA4D,GAA5DA,wBAA4D;EACrE;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACE,OAAO,CAAC,CAAC;IAC1D,MAAME,cAAc,GAAG,IAAI,CAACH,wBAAwB,CAACC,OAAO,CAAC,CAAC;IAE9D,MAAMG,SAAS,GAAG,MAAM,IAAI,CAACN,kBAAkB,CAACG,OAAO,CAAC,CAAC;IAEzD,IAAIC,SAAS,EAAE;MACXG,OAAO,CAACC,GAAG,CAACC,2BAA2B,GAAGL,SAAS;MACnDG,OAAO,CAACC,GAAG,CAACE,wBAAwB,GAAGN,SAAS;IACpD;IAEA,IAAI,EAAE,4BAA4B,IAAIG,OAAO,CAACC,GAAG,CAAC,EAAE;MAChDD,OAAO,CAACC,GAAG,CAACG,0BAA0B,GAAGC,MAAM,CAACN,SAAS,CAAC;IAC9D;IAEA,IAAI,EAAE,oCAAoC,IAAIC,OAAO,CAACC,GAAG,CAAC,EAAE;MACxDD,OAAO,CAACC,GAAG,CAACK,kCAAkC,GAAGjB,YAAY,CAACkB,GAAG,CAAC,IAAI,CAAC;IAC3E;IAEA,IAAI,EAAE,qCAAqC,IAAIP,OAAO,CAACC,GAAG,CAAC,EAAE;MACzD,MAAMO,OAAO,GAAGC,OAAO,CAACpB,YAAY,CAACkB,GAAG,CAAC,SAAS,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;MAC/DV,OAAO,CAACC,GAAG,CAACU,mCAAmC,GAAGH,OAAO;IAC7D;IAEA,IAAI,EAAE,sBAAsB,IAAIR,OAAO,CAACC,GAAG,CAAC,EAAE;MAC1CD,OAAO,CAACC,GAAG,CAACW,oBAAoB,GAAG,MAAM;IAC7C;IAEA,IAAI,EAAE,iBAAiB,IAAIZ,OAAO,CAACC,GAAG,CAAC,EAAE;MACrCD,OAAO,CAACC,GAAG,CAACY,eAAe,GAAGJ,OAAO,CAACnB,IAAI,CAAC,CAACoB,QAAQ,CAAC,CAAC;IAC1D;IAEA,IAAI,EAAE,0BAA0B,IAAIV,OAAO,CAACC,GAAG,CAAC,EAAE;MAC9CD,OAAO,CAACC,GAAG,CAACa,wBAAwB,GAAGhB,cAAc;IACzD;EACJ;AACJ;AAEA,OAAO,MAAMiB,6BAA6B,GAAG9B,gBAAgB,CAAC+B,oBAAoB,CAAC;EAC/EC,cAAc,EAAE1B,iCAAiC;EACjD2B,YAAY,EAAE,CAAChC,kBAAkB,EAAEC,mBAAmB,EAAEC,wBAAwB;AACpF,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const ProjectDecorator: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
4
- }, "strip", z.ZodTypeAny, {
5
- src: string;
6
- }, {
7
- src: string;
8
- }>>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const ProjectId: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
- id: z.ZodEffects<z.ZodString, string, string>;
4
- }, "strip", z.ZodTypeAny, {
5
- id: string;
6
- }, {
7
- id: string;
8
- }>>;
3
+ id: z.ZodString;
4
+ }, z.core.$strip>>;
@@ -1,11 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const ProjectImplementation: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
4
  singleton: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5
- }, "strip", z.ZodTypeAny, {
6
- src: string;
7
- singleton: boolean;
8
- }, {
9
- src: string;
10
- singleton?: boolean | undefined;
11
- }>>;
5
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const Telemetry: import("../defineExtension/defineExtension.js").ExtensionComponent<z.ZodObject<{
3
3
  enabled: z.ZodDefault<z.ZodBoolean>;
4
- }, "strip", z.ZodTypeAny, {
5
- enabled: boolean;
6
- }, {
7
- enabled?: boolean | undefined;
8
- }>>;
4
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const AdminAfterBuild: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
4
- }, "strip", z.ZodTypeAny, {
5
- src: string;
6
- }, {
7
- src: string;
8
- }>>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ }, z.core.$strip>>;
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
2
  export declare const AdminAfterDeploy: import("~/defineExtension/index.js").ExtensionComponent<z.ZodObject<{
3
- src: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
4
- }, "strip", z.ZodTypeAny, {
5
- src: string;
6
- }, {
7
- src: string;
8
- }>>;
3
+ src: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
+ }, z.core.$strip>>;