@webiny/pulumi 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7f63ea0744

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.
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.PulumiAppModuleDefinition = void 0;
9
8
  exports.createAppModule = createAppModule;
10
-
11
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
10
  class PulumiAppModuleDefinition {
14
11
  constructor(params) {
15
12
  (0, _defineProperty2.default)(this, "symbol", Symbol());
@@ -18,11 +15,8 @@ class PulumiAppModuleDefinition {
18
15
  this.name = params.name;
19
16
  this.run = params.config;
20
17
  }
21
-
22
18
  }
23
-
24
19
  exports.PulumiAppModuleDefinition = PulumiAppModuleDefinition;
25
-
26
20
  function createAppModule(params) {
27
21
  return new PulumiAppModuleDefinition(params);
28
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["PulumiAppModuleDefinition","constructor","params","Symbol","name","run","config","createAppModule"],"sources":["PulumiAppModule.ts"],"sourcesContent":["import { PulumiApp } from \"./types\";\n\nexport interface PulumiAppModuleCallback<TModule, TConfig> {\n (this: void, app: PulumiApp, config: TConfig): TModule;\n}\n\nexport interface PulumiAppModuleParams<TModule, TConfig> {\n name: string;\n config: PulumiAppModuleCallback<TModule, TConfig>;\n}\n\nexport type PulumiAppModule<T extends PulumiAppModuleDefinition<any, any>> =\n T extends PulumiAppModuleDefinition<infer V, any> ? V : never;\n\nexport class PulumiAppModuleDefinition<TModule, TConfig> {\n public readonly symbol = Symbol();\n public readonly name: string;\n public readonly run: PulumiAppModuleCallback<TModule, TConfig>;\n constructor(params: PulumiAppModuleParams<TModule, TConfig>) {\n this.name = params.name;\n this.run = params.config;\n }\n}\n\nexport function createAppModule<TModule, TConfig = void>(\n params: PulumiAppModuleParams<TModule, TConfig>\n) {\n return new PulumiAppModuleDefinition(params);\n}\n"],"mappings":";;;;;;;;;;;;AAcO,MAAMA,yBAAN,CAAkD;EAIrDC,WAAW,CAACC,MAAD,EAAkD;IAAA,8CAHpCC,MAAM,EAG8B;IAAA;IAAA;IACzD,KAAKC,IAAL,GAAYF,MAAM,CAACE,IAAnB;IACA,KAAKC,GAAL,GAAWH,MAAM,CAACI,MAAlB;EACH;;AAPoD;;;;AAUlD,SAASC,eAAT,CACHL,MADG,EAEL;EACE,OAAO,IAAIF,yBAAJ,CAA8BE,MAA9B,CAAP;AACH"}
1
+ {"version":3,"names":["PulumiAppModuleDefinition","constructor","params","Symbol","name","run","config","createAppModule"],"sources":["PulumiAppModule.ts"],"sourcesContent":["import { PulumiApp } from \"./types\";\n\nexport interface PulumiAppModuleCallback<TModule, TConfig> {\n (this: void, app: PulumiApp, config: TConfig): TModule;\n}\n\nexport interface PulumiAppModuleParams<TModule, TConfig> {\n name: string;\n config: PulumiAppModuleCallback<TModule, TConfig>;\n}\n\nexport type PulumiAppModule<T extends PulumiAppModuleDefinition<any, any>> =\n T extends PulumiAppModuleDefinition<infer V, any> ? V : never;\n\nexport class PulumiAppModuleDefinition<TModule, TConfig> {\n public readonly symbol = Symbol();\n public readonly name: string;\n public readonly run: PulumiAppModuleCallback<TModule, TConfig>;\n constructor(params: PulumiAppModuleParams<TModule, TConfig>) {\n this.name = params.name;\n this.run = params.config;\n }\n}\n\nexport function createAppModule<TModule, TConfig = void>(\n params: PulumiAppModuleParams<TModule, TConfig>\n) {\n return new PulumiAppModuleDefinition(params);\n}\n"],"mappings":";;;;;;;;;AAcO,MAAMA,yBAAyB,CAAmB;EAIrDC,WAAW,CAACC,MAA+C,EAAE;IAAA,8CAHpCC,MAAM,EAAE;IAAA;IAAA;IAI7B,IAAI,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI;IACvB,IAAI,CAACC,GAAG,GAAGH,MAAM,CAACI,MAAM;EAC5B;AACJ;AAAC;AAEM,SAASC,eAAe,CAC3BL,MAA+C,EACjD;EACE,OAAO,IAAIF,yBAAyB,CAACE,MAAM,CAAC;AAChD"}
@@ -1,35 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.createPulumiApp = createPulumiApp;
11
-
12
9
  var _findUp = _interopRequireDefault(require("find-up"));
13
-
14
10
  var _path = _interopRequireDefault(require("path"));
15
-
16
11
  var pulumi = _interopRequireWildcard(require("@pulumi/pulumi"));
17
-
18
12
  function createPulumiApp(params) {
19
13
  let projectRootPath = _findUp.default.sync("webiny.project.ts");
20
-
21
14
  if (projectRootPath) {
22
15
  projectRootPath = _path.default.dirname(projectRootPath).replace(/\\/g, "/");
23
16
  } else {
24
17
  throw new Error("Couldn't detect Webiny project.");
25
18
  }
26
-
27
19
  const appRelativePath = params.path;
28
-
29
20
  const appRootPath = _path.default.join(projectRootPath, appRelativePath);
30
-
31
21
  const projectAppWorkspacePath = _path.default.join(projectRootPath, ".webiny", "workspaces", appRelativePath);
32
-
33
22
  const app = {
34
23
  resourceHandlers: [],
35
24
  handlers: [],
@@ -47,23 +36,18 @@ function createPulumiApp(params) {
47
36
  create: params.config || {},
48
37
  run: {}
49
38
  },
50
-
51
39
  async run(config) {
52
40
  app.params.run = config;
53
41
  Object.assign(app.resources, await app.program(app));
54
-
55
42
  for (const handler of app.handlers) {
56
43
  await handler();
57
44
  }
58
-
59
45
  app.params.run = {};
60
46
  return app.outputs;
61
47
  },
62
-
63
48
  onResource(handler) {
64
49
  app.resourceHandlers.push(handler);
65
50
  },
66
-
67
51
  /**
68
52
  * Adds a resource to pulumi app.
69
53
  * It's not running the script immediately, but enqueues the call.
@@ -90,7 +74,6 @@ function createPulumiApp(params) {
90
74
  };
91
75
  return resource;
92
76
  },
93
-
94
77
  addRemoteResource(name, getter) {
95
78
  const promise = getter();
96
79
  const resource = {
@@ -99,7 +82,6 @@ function createPulumiApp(params) {
99
82
  };
100
83
  return resource;
101
84
  },
102
-
103
85
  /**
104
86
  * Registers output value within pulumi app.
105
87
  * @param name Name of the output value
@@ -108,7 +90,6 @@ function createPulumiApp(params) {
108
90
  addOutput(name, output) {
109
91
  app.outputs[name] = output;
110
92
  },
111
-
112
93
  /**
113
94
  * Registers one or more output values.
114
95
  * @param outputs Dictionary containing output values.
@@ -116,7 +97,6 @@ function createPulumiApp(params) {
116
97
  addOutputs(outputs) {
117
98
  Object.assign(app.outputs, outputs);
118
99
  },
119
-
120
100
  /**
121
101
  * Registers an app module within app.
122
102
  * Allows to decompose application into smaller pieces.
@@ -128,12 +108,10 @@ function createPulumiApp(params) {
128
108
  if (app.modules.has(module.symbol)) {
129
109
  throw new Error(`Module "${module.name}" is already present in the "${app.name}" application.`);
130
110
  }
131
-
132
111
  const createdModule = module.run(app, config);
133
112
  app.modules.set(module.symbol, createdModule);
134
113
  return createdModule;
135
114
  },
136
-
137
115
  /**
138
116
  * Returns a module by its definition
139
117
  * @param def
@@ -141,7 +119,6 @@ function createPulumiApp(params) {
141
119
  */
142
120
  getModule(def, opts) {
143
121
  const module = app.modules.get(def.symbol);
144
-
145
122
  if (!module) {
146
123
  if (opts !== null && opts !== void 0 && opts.optional) {
147
124
  return null;
@@ -149,10 +126,8 @@ function createPulumiApp(params) {
149
126
  throw new Error(`Module "${def.name}" not found in "${app.name}" app`);
150
127
  }
151
128
  }
152
-
153
129
  return module;
154
130
  },
155
-
156
131
  /**
157
132
  * Schedules a handler to be executed when running pulumi script.
158
133
  * Anything, that is returned from handler will be wrapped in pulumi.Output
@@ -168,29 +143,24 @@ function createPulumiApp(params) {
168
143
  });
169
144
  return pulumi.output(promise);
170
145
  },
171
-
172
146
  getParam(param) {
173
147
  if (typeof param === "function") {
174
148
  return param(app);
175
149
  }
176
-
177
150
  return param;
178
151
  }
179
-
180
152
  };
181
153
  return app;
182
154
  }
183
-
184
155
  function createPulumiAppResourceConfigProxy(obj) {
185
156
  return new Proxy(obj, {
186
157
  get(target, p) {
187
158
  const key = p;
188
-
189
159
  const setter = value => {
190
160
  if (typeof value === "function") {
191
161
  const modifier = value;
192
- const currentValue = target[key]; // Wrap a current config with a function.
193
-
162
+ const currentValue = target[key];
163
+ // Wrap a current config with a function.
194
164
  const newValue = pulumi.output(currentValue).apply(v => {
195
165
  const newValue = modifier(v);
196
166
  return pulumi.output(newValue);
@@ -200,9 +170,7 @@ function createPulumiAppResourceConfigProxy(obj) {
200
170
  target[key] = value;
201
171
  }
202
172
  };
203
-
204
173
  return setter;
205
174
  }
206
-
207
175
  });
208
176
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createPulumiApp","params","projectRootPath","findUp","sync","path","dirname","replace","Error","appRelativePath","appRootPath","join","projectAppWorkspacePath","app","resourceHandlers","handlers","outputs","modules","Map","paths","absolute","relative","workspace","resources","name","program","create","config","run","Object","assign","handler","onResource","push","addResource","resourceConstructor","opts","promise","Promise","resolve","forEach","resource","type","createPulumiAppResourceConfigProxy","output","pulumi","addRemoteResource","getter","addOutput","addOutputs","addModule","module","has","symbol","createdModule","set","getModule","def","get","optional","addHandler","getParam","param","obj","Proxy","target","p","key","setter","value","modifier","currentValue","newValue","apply","v"],"sources":["createPulumiApp.ts"],"sourcesContent":["import findUp from \"find-up\";\nimport path from \"path\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport { PulumiAppModuleDefinition } from \"./PulumiAppModule\";\nimport {\n PulumiAppResourceArgs,\n PulumiAppResourceConstructor,\n PulumiAppResourceType,\n PulumiAppResource,\n CreatePulumiAppResourceParams,\n PulumiAppResourceConfigSetter,\n PulumiAppResourceConfigModifier,\n PulumiAppResourceConfigProxy\n} from \"./PulumiAppResource\";\nimport {\n CreatePulumiAppParams,\n PulumiApp,\n PulumiAppParam,\n PulumiAppParamCallback,\n ResourceHandler\n} from \"~/types\";\nimport { PulumiAppRemoteResource } from \"~/PulumiAppRemoteResource\";\n\nexport function createPulumiApp<TResources extends Record<string, unknown>>(\n params: CreatePulumiAppParams<TResources>\n): PulumiApp<TResources> {\n let projectRootPath = findUp.sync(\"webiny.project.ts\");\n if (projectRootPath) {\n projectRootPath = path.dirname(projectRootPath).replace(/\\\\/g, \"/\");\n } else {\n throw new Error(\"Couldn't detect Webiny project.\");\n }\n\n const appRelativePath = params.path;\n const appRootPath = path.join(projectRootPath, appRelativePath);\n\n const projectAppWorkspacePath = path.join(\n projectRootPath,\n \".webiny\",\n \"workspaces\",\n appRelativePath\n );\n\n const app: PulumiApp<TResources> = {\n resourceHandlers: [],\n handlers: [],\n outputs: {},\n modules: new Map<symbol, unknown>(),\n paths: {\n absolute: appRootPath,\n relative: appRelativePath,\n workspace: projectAppWorkspacePath\n },\n\n resources: {} as TResources,\n name: params.name,\n program: params.program,\n params: {\n create: params.config || {},\n run: {}\n },\n\n async run(config) {\n app.params.run = config;\n\n Object.assign(app.resources, await app.program(app));\n\n for (const handler of app.handlers) {\n await handler();\n }\n\n app.params.run = {};\n\n return app.outputs;\n },\n\n onResource(handler: ResourceHandler) {\n app.resourceHandlers.push(handler);\n },\n\n /**\n * Adds a resource to pulumi app.\n * It's not running the script immediately, but enqueues the call.\n * This way we are still able to modify the config of the resource.\n * @param resourceConstructor Resource to be added, ie aws.s3.Bucket\n * @param params Parameters to configure the resource\n * @returns Object giving access to both resource outputs and its config.\n */\n addResource<T extends PulumiAppResourceConstructor>(\n resourceConstructor: T,\n params: CreatePulumiAppResourceParams<T>\n ) {\n const config = params.config ?? ({} as PulumiAppResourceArgs<T>);\n const opts = params.opts ?? {};\n\n const promise = new Promise<PulumiAppResourceType<T>>(resolve => {\n app.handlers.push(() => {\n app.resourceHandlers.forEach(handler => handler(resource));\n\n resolve(new resourceConstructor(resource.name, config, opts));\n });\n });\n\n const resource: PulumiAppResource<T> = {\n name: params.name,\n type: resourceConstructor,\n config: createPulumiAppResourceConfigProxy(config),\n opts,\n output: pulumi.output(promise)\n };\n\n return resource;\n },\n\n addRemoteResource<T>(name: string, getter: () => Promise<T>) {\n const promise = getter();\n\n const resource: PulumiAppRemoteResource<T> = {\n name,\n output: pulumi.output(promise)\n };\n\n return resource;\n },\n\n /**\n * Registers output value within pulumi app.\n * @param name Name of the output value\n * @param output Value of the output\n */\n addOutput<T>(name: string, output: T) {\n app.outputs[name] = output;\n },\n\n /**\n * Registers one or more output values.\n * @param outputs Dictionary containing output values.\n */\n addOutputs(outputs: Record<string, unknown>) {\n Object.assign(app.outputs, outputs);\n },\n\n /**\n * Registers an app module within app.\n * Allows to decompose application into smaller pieces.\n * Added module can be then retrieved with `getModule`.\n * @param module\n * @param config\n */\n addModule<TModule, TConfig>(\n module: PulumiAppModuleDefinition<TModule, TConfig>,\n config?: TConfig\n ) {\n if (app.modules.has(module.symbol)) {\n throw new Error(\n `Module \"${module.name}\" is already present in the \"${app.name}\" application.`\n );\n }\n\n const createdModule = module.run(app, config as TConfig);\n app.modules.set(module.symbol, createdModule);\n\n return createdModule;\n },\n\n /**\n * Returns a module by its definition\n * @param def\n * @param opts\n */\n getModule<TConfig, TModule>(\n def: PulumiAppModuleDefinition<TModule, TConfig>,\n opts?: { optional: boolean }\n ) {\n const module = app.modules.get(def.symbol);\n\n if (!module) {\n if (opts?.optional) {\n return null;\n } else {\n throw new Error(`Module \"${def.name}\" not found in \"${app.name}\" app`);\n }\n }\n\n return module;\n },\n\n /**\n * Schedules a handler to be executed when running pulumi script.\n * Anything, that is returned from handler will be wrapped in pulumi.Output\n * so it can be used in other places.\n * @param handler Handler to be executed.\n * @returns Result of the handler wrapped with pulumi.Output\n */\n addHandler<T>(handler: () => Promise<T> | T) {\n const promise = new Promise<T>(resolve => {\n app.handlers.push(async () => {\n resolve(await handler());\n });\n });\n\n return pulumi.output(promise);\n },\n\n getParam<T>(param: PulumiAppParam<T>) {\n if (typeof param === \"function\") {\n return (param as PulumiAppParamCallback<T>)(app);\n }\n\n return param;\n }\n };\n\n return app;\n}\n\nfunction createPulumiAppResourceConfigProxy<T extends object>(obj: T) {\n return new Proxy(obj, {\n get(target, p: string) {\n type V = T[keyof T];\n const key = p as keyof T;\n const setter: PulumiAppResourceConfigSetter<V> = (\n value: V | PulumiAppResourceConfigModifier<V>\n ) => {\n if (typeof value === \"function\") {\n const modifier = value as PulumiAppResourceConfigModifier<V>;\n const currentValue = target[key];\n // Wrap a current config with a function.\n const newValue = pulumi.output(currentValue).apply(v => {\n const newValue = modifier(v);\n return pulumi.output(newValue);\n });\n\n target[key] = newValue as unknown as V;\n } else {\n target[key] = value;\n }\n };\n\n return setter;\n }\n }) as PulumiAppResourceConfigProxy<T>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["createPulumiApp","params","projectRootPath","findUp","sync","path","dirname","replace","Error","appRelativePath","appRootPath","join","projectAppWorkspacePath","app","resourceHandlers","handlers","outputs","modules","Map","paths","absolute","relative","workspace","resources","name","program","create","config","run","Object","assign","handler","onResource","push","addResource","resourceConstructor","opts","promise","Promise","resolve","forEach","resource","type","createPulumiAppResourceConfigProxy","output","pulumi","addRemoteResource","getter","addOutput","addOutputs","addModule","module","has","symbol","createdModule","set","getModule","def","get","optional","addHandler","getParam","param","obj","Proxy","target","p","key","setter","value","modifier","currentValue","newValue","apply","v"],"sources":["createPulumiApp.ts"],"sourcesContent":["import findUp from \"find-up\";\nimport path from \"path\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport { PulumiAppModuleDefinition } from \"./PulumiAppModule\";\nimport {\n PulumiAppResourceArgs,\n PulumiAppResourceConstructor,\n PulumiAppResourceType,\n PulumiAppResource,\n CreatePulumiAppResourceParams,\n PulumiAppResourceConfigSetter,\n PulumiAppResourceConfigModifier,\n PulumiAppResourceConfigProxy\n} from \"./PulumiAppResource\";\nimport {\n CreatePulumiAppParams,\n PulumiApp,\n PulumiAppParam,\n PulumiAppParamCallback,\n ResourceHandler\n} from \"~/types\";\nimport { PulumiAppRemoteResource } from \"~/PulumiAppRemoteResource\";\n\nexport function createPulumiApp<TResources extends Record<string, unknown>>(\n params: CreatePulumiAppParams<TResources>\n): PulumiApp<TResources> {\n let projectRootPath = findUp.sync(\"webiny.project.ts\");\n if (projectRootPath) {\n projectRootPath = path.dirname(projectRootPath).replace(/\\\\/g, \"/\");\n } else {\n throw new Error(\"Couldn't detect Webiny project.\");\n }\n\n const appRelativePath = params.path;\n const appRootPath = path.join(projectRootPath, appRelativePath);\n\n const projectAppWorkspacePath = path.join(\n projectRootPath,\n \".webiny\",\n \"workspaces\",\n appRelativePath\n );\n\n const app: PulumiApp<TResources> = {\n resourceHandlers: [],\n handlers: [],\n outputs: {},\n modules: new Map<symbol, unknown>(),\n paths: {\n absolute: appRootPath,\n relative: appRelativePath,\n workspace: projectAppWorkspacePath\n },\n\n resources: {} as TResources,\n name: params.name,\n program: params.program,\n params: {\n create: params.config || {},\n run: {}\n },\n\n async run(config) {\n app.params.run = config;\n\n Object.assign(app.resources, await app.program(app));\n\n for (const handler of app.handlers) {\n await handler();\n }\n\n app.params.run = {};\n\n return app.outputs;\n },\n\n onResource(handler: ResourceHandler) {\n app.resourceHandlers.push(handler);\n },\n\n /**\n * Adds a resource to pulumi app.\n * It's not running the script immediately, but enqueues the call.\n * This way we are still able to modify the config of the resource.\n * @param resourceConstructor Resource to be added, ie aws.s3.Bucket\n * @param params Parameters to configure the resource\n * @returns Object giving access to both resource outputs and its config.\n */\n addResource<T extends PulumiAppResourceConstructor>(\n resourceConstructor: T,\n params: CreatePulumiAppResourceParams<T>\n ) {\n const config = params.config ?? ({} as PulumiAppResourceArgs<T>);\n const opts = params.opts ?? {};\n\n const promise = new Promise<PulumiAppResourceType<T>>(resolve => {\n app.handlers.push(() => {\n app.resourceHandlers.forEach(handler => handler(resource));\n\n resolve(new resourceConstructor(resource.name, config, opts));\n });\n });\n\n const resource: PulumiAppResource<T> = {\n name: params.name,\n type: resourceConstructor,\n config: createPulumiAppResourceConfigProxy(config),\n opts,\n output: pulumi.output(promise)\n };\n\n return resource;\n },\n\n addRemoteResource<T>(name: string, getter: () => Promise<T>) {\n const promise = getter();\n\n const resource: PulumiAppRemoteResource<T> = {\n name,\n output: pulumi.output(promise)\n };\n\n return resource;\n },\n\n /**\n * Registers output value within pulumi app.\n * @param name Name of the output value\n * @param output Value of the output\n */\n addOutput<T>(name: string, output: T) {\n app.outputs[name] = output;\n },\n\n /**\n * Registers one or more output values.\n * @param outputs Dictionary containing output values.\n */\n addOutputs(outputs: Record<string, unknown>) {\n Object.assign(app.outputs, outputs);\n },\n\n /**\n * Registers an app module within app.\n * Allows to decompose application into smaller pieces.\n * Added module can be then retrieved with `getModule`.\n * @param module\n * @param config\n */\n addModule<TModule, TConfig>(\n module: PulumiAppModuleDefinition<TModule, TConfig>,\n config?: TConfig\n ) {\n if (app.modules.has(module.symbol)) {\n throw new Error(\n `Module \"${module.name}\" is already present in the \"${app.name}\" application.`\n );\n }\n\n const createdModule = module.run(app, config as TConfig);\n app.modules.set(module.symbol, createdModule);\n\n return createdModule;\n },\n\n /**\n * Returns a module by its definition\n * @param def\n * @param opts\n */\n getModule<TConfig, TModule>(\n def: PulumiAppModuleDefinition<TModule, TConfig>,\n opts?: { optional: boolean }\n ) {\n const module = app.modules.get(def.symbol);\n\n if (!module) {\n if (opts?.optional) {\n return null;\n } else {\n throw new Error(`Module \"${def.name}\" not found in \"${app.name}\" app`);\n }\n }\n\n return module;\n },\n\n /**\n * Schedules a handler to be executed when running pulumi script.\n * Anything, that is returned from handler will be wrapped in pulumi.Output\n * so it can be used in other places.\n * @param handler Handler to be executed.\n * @returns Result of the handler wrapped with pulumi.Output\n */\n addHandler<T>(handler: () => Promise<T> | T) {\n const promise = new Promise<T>(resolve => {\n app.handlers.push(async () => {\n resolve(await handler());\n });\n });\n\n return pulumi.output(promise);\n },\n\n getParam<T>(param: PulumiAppParam<T>) {\n if (typeof param === \"function\") {\n return (param as PulumiAppParamCallback<T>)(app);\n }\n\n return param;\n }\n };\n\n return app;\n}\n\nfunction createPulumiAppResourceConfigProxy<T extends object>(obj: T) {\n return new Proxy(obj, {\n get(target, p: string) {\n type V = T[keyof T];\n const key = p as keyof T;\n const setter: PulumiAppResourceConfigSetter<V> = (\n value: V | PulumiAppResourceConfigModifier<V>\n ) => {\n if (typeof value === \"function\") {\n const modifier = value as PulumiAppResourceConfigModifier<V>;\n const currentValue = target[key];\n // Wrap a current config with a function.\n const newValue = pulumi.output(currentValue).apply(v => {\n const newValue = modifier(v);\n return pulumi.output(newValue);\n });\n\n target[key] = newValue as unknown as V;\n } else {\n target[key] = value;\n }\n };\n\n return setter;\n }\n }) as PulumiAppResourceConfigProxy<T>;\n}\n"],"mappings":"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"}
package/index.js CHANGED
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _createPulumiApp = require("./createPulumiApp");
8
-
9
7
  Object.keys(_createPulumiApp).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _createPulumiApp[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_createPulumiApp).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _isResourceOfType = require("./isResourceOfType");
21
-
22
18
  Object.keys(_isResourceOfType).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _isResourceOfType[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_isResourceOfType).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _PulumiAppModule = require("./PulumiAppModule");
34
-
35
29
  Object.keys(_PulumiAppModule).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _PulumiAppModule[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_PulumiAppModule).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _PulumiAppResource = require("./PulumiAppResource");
47
-
48
40
  Object.keys(_PulumiAppResource).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _PulumiAppResource[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_PulumiAppResource).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
50
  var _PulumiAppRemoteResource = require("./PulumiAppRemoteResource");
60
-
61
51
  Object.keys(_PulumiAppRemoteResource).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _PulumiAppRemoteResource[key]) return;
@@ -68,9 +58,7 @@ Object.keys(_PulumiAppRemoteResource).forEach(function (key) {
68
58
  }
69
59
  });
70
60
  });
71
-
72
61
  var _types = require("./types");
73
-
74
62
  Object.keys(_types).forEach(function (key) {
75
63
  if (key === "default" || key === "__esModule") return;
76
64
  if (key in exports && exports[key] === _types[key]) return;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./createPulumiApp\";\nexport * from \"./isResourceOfType\";\nexport * from \"./PulumiAppModule\";\nexport * from \"./PulumiAppResource\";\nexport * from \"./PulumiAppRemoteResource\";\nexport * from \"./types\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./createPulumiApp\";\nexport * from \"./isResourceOfType\";\nexport * from \"./PulumiAppModule\";\nexport * from \"./PulumiAppResource\";\nexport * from \"./PulumiAppRemoteResource\";\nexport * from \"./types\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isResourceOfType = isResourceOfType;
7
-
8
7
  function isResourceOfType(resource, type) {
9
8
  return resource.type === type;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"names":["isResourceOfType","resource","type"],"sources":["isResourceOfType.ts"],"sourcesContent":["import { PulumiAppResource, PulumiAppResourceConstructor } from \"~/PulumiAppResource\";\n\nexport function isResourceOfType<T extends PulumiAppResourceConstructor>(\n resource: PulumiAppResource<PulumiAppResourceConstructor>,\n type: T\n): resource is PulumiAppResource<T> {\n return resource.type === type;\n}\n"],"mappings":";;;;;;;AAEO,SAASA,gBAAT,CACHC,QADG,EAEHC,IAFG,EAG6B;EAChC,OAAOD,QAAQ,CAACC,IAAT,KAAkBA,IAAzB;AACH"}
1
+ {"version":3,"names":["isResourceOfType","resource","type"],"sources":["isResourceOfType.ts"],"sourcesContent":["import { PulumiAppResource, PulumiAppResourceConstructor } from \"~/PulumiAppResource\";\n\nexport function isResourceOfType<T extends PulumiAppResourceConstructor>(\n resource: PulumiAppResource<PulumiAppResourceConstructor>,\n type: T\n): resource is PulumiAppResource<T> {\n return resource.type === type;\n}\n"],"mappings":";;;;;;AAEO,SAASA,gBAAgB,CAC5BC,QAAyD,EACzDC,IAAO,EACyB;EAChC,OAAOD,QAAQ,CAACC,IAAI,KAAKA,IAAI;AACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/pulumi",
3
- "version": "0.0.0-unstable.78f581c1d2",
3
+ "version": "0.0.0-unstable.7f63ea0744",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,8 +22,8 @@
22
22
  "@babel/core": "^7.19.3",
23
23
  "@types/lodash": "^4.14.190",
24
24
  "@types/node": "^10.0.0",
25
- "@webiny/cli": "^0.0.0-unstable.78f581c1d2",
26
- "@webiny/project-utils": "^0.0.0-unstable.78f581c1d2",
25
+ "@webiny/cli": "^0.0.0-unstable.7f63ea0744",
26
+ "@webiny/project-utils": "^0.0.0-unstable.7f63ea0744",
27
27
  "rimraf": "^3.0.2",
28
28
  "typescript": "4.7.4"
29
29
  },
@@ -31,5 +31,5 @@
31
31
  "build": "yarn webiny run build",
32
32
  "watch": "yarn webiny run watch"
33
33
  },
34
- "gitHead": "78f581c1d2e5e6936aa11b9452a66d2a3652a1b2"
34
+ "gitHead": "7f63ea0744c9e31977e5dabb95538d22b4db585c"
35
35
  }