@cosmwasm/ts-codegen 0.25.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/main/builder/builder.js +165 -254
  2. package/main/commands/generate.js +3 -0
  3. package/main/generators/msg-builder.js +113 -0
  4. package/main/index.js +14 -0
  5. package/main/plugins/client.js +141 -0
  6. package/main/plugins/index.js +18 -0
  7. package/main/plugins/message-composer.js +128 -0
  8. package/main/plugins/msg-builder.js +139 -0
  9. package/main/plugins/plugin-base.js +126 -0
  10. package/main/plugins/react-query.js +152 -0
  11. package/main/plugins/recoil.js +145 -0
  12. package/main/plugins/types.js +123 -0
  13. package/module/builder/builder.js +63 -109
  14. package/module/commands/generate.js +3 -0
  15. package/module/generators/msg-builder.js +62 -0
  16. package/module/index.js +1 -0
  17. package/module/plugins/client.js +66 -0
  18. package/module/plugins/index.js +1 -0
  19. package/module/plugins/message-composer.js +53 -0
  20. package/module/plugins/msg-builder.js +63 -0
  21. package/module/plugins/plugin-base.js +59 -0
  22. package/module/plugins/react-query.js +77 -0
  23. package/module/plugins/recoil.js +64 -0
  24. package/module/plugins/types.js +45 -0
  25. package/package.json +3 -3
  26. package/src/builder/builder.ts +82 -82
  27. package/src/commands/generate.ts +3 -0
  28. package/src/generators/msg-builder.ts +80 -0
  29. package/src/index.ts +1 -0
  30. package/src/plugins/client.ts +108 -0
  31. package/src/plugins/index.ts +1 -0
  32. package/src/plugins/message-composer.ts +80 -0
  33. package/src/plugins/msg-builder.ts +85 -0
  34. package/src/plugins/plugin-base.ts +112 -0
  35. package/src/plugins/react-query.ts +115 -0
  36. package/src/plugins/recoil.ts +89 -0
  37. package/src/plugins/types.ts +74 -0
  38. package/types/src/builder/builder.d.ts +13 -9
  39. package/types/src/generators/msg-builder.d.ts +5 -0
  40. package/types/src/generators/msg-builder.ts +5 -0
  41. package/types/src/index.d.ts +1 -0
  42. package/types/src/plugins/client.d.ts +12 -0
  43. package/types/src/plugins/index.d.ts +1 -0
  44. package/types/src/plugins/message-composer.d.ts +12 -0
  45. package/types/src/plugins/msg-builder.d.ts +12 -0
  46. package/types/src/plugins/plugin-base.d.ts +47 -0
  47. package/types/src/plugins/react-query.d.ts +12 -0
  48. package/types/src/plugins/recoil.d.ts +13 -0
  49. package/types/src/plugins/types.d.ts +12 -0
@@ -13,8 +13,6 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
13
13
 
14
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
15
 
16
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
17
 
20
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -33,16 +31,6 @@ var _fs = require("fs");
33
31
 
34
32
  var _mkdirp = require("mkdirp");
35
33
 
36
- var _messageComposer = _interopRequireDefault(require("../generators/message-composer"));
37
-
38
- var _types = _interopRequireDefault(require("../generators/types"));
39
-
40
- var _reactQuery = _interopRequireDefault(require("../generators/react-query"));
41
-
42
- var _recoil = _interopRequireDefault(require("../generators/recoil"));
43
-
44
- var _client = _interopRequireDefault(require("../generators/client"));
45
-
46
34
  var _utils = require("../utils");
47
35
 
48
36
  var _deepmerge = _interopRequireDefault(require("deepmerge"));
@@ -55,16 +43,28 @@ var _generator = _interopRequireDefault(require("@babel/generator"));
55
43
 
56
44
  var t = _interopRequireWildcard(require("@babel/types"));
57
45
 
58
- var _excluded = ["enabled"],
59
- _excluded2 = ["enabled"],
60
- _excluded3 = ["enabled"],
61
- _excluded4 = ["enabled"],
62
- _excluded5 = ["enabled"];
46
+ var _reactQuery = require("../plugins/react-query");
47
+
48
+ var _recoil = require("../plugins/recoil");
49
+
50
+ var _msgBuilder = require("../plugins/msg-builder");
51
+
52
+ var _messageComposer = require("../plugins/message-composer");
53
+
54
+ var _client = require("../plugins/client");
55
+
56
+ var _types2 = require("../plugins/types");
63
57
 
64
58
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
65
59
 
66
60
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
67
61
 
62
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
63
+
64
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
65
+
66
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
67
+
68
68
  var defaultOpts = {
69
69
  bundle: {
70
70
  enabled: true,
@@ -76,75 +76,65 @@ var defaultOpts = {
76
76
  ;
77
77
  ;
78
78
 
79
+ function getContract(contractOpt) {
80
+ if (typeof contractOpt === 'string') {
81
+ var name = (0, _path.basename)(contractOpt);
82
+ var contractName = (0, _case.pascal)(name);
83
+ return {
84
+ name: contractName,
85
+ dir: contractOpt
86
+ };
87
+ }
88
+
89
+ return {
90
+ name: (0, _case.pascal)(contractOpt.name),
91
+ dir: contractOpt.dir
92
+ };
93
+ }
94
+
79
95
  var TSBuilder = /*#__PURE__*/function () {
80
96
  function TSBuilder(_ref) {
81
97
  var contracts = _ref.contracts,
82
98
  outPath = _ref.outPath,
83
- options = _ref.options;
99
+ options = _ref.options,
100
+ plugins = _ref.plugins;
84
101
  (0, _classCallCheck2["default"])(this, TSBuilder);
85
102
  (0, _defineProperty2["default"])(this, "contracts", void 0);
86
103
  (0, _defineProperty2["default"])(this, "outPath", void 0);
87
104
  (0, _defineProperty2["default"])(this, "options", void 0);
105
+ (0, _defineProperty2["default"])(this, "plugins", []);
88
106
  (0, _defineProperty2["default"])(this, "files", []);
89
107
  this.contracts = contracts;
90
108
  this.outPath = outPath;
91
109
  this.options = (0, _deepmerge["default"])((0, _deepmerge["default"])(_wasmAstTypes.defaultOptions, defaultOpts), options !== null && options !== void 0 ? options : {});
110
+ this.loadDefaultPlugins();
111
+
112
+ if (plugins && plugins.length) {
113
+ [].push.apply(this.plugins, plugins);
114
+ }
92
115
  }
93
116
 
94
117
  (0, _createClass2["default"])(TSBuilder, [{
95
- key: "getContracts",
96
- value: function getContracts() {
97
- return this.contracts.map(function (contractOpt) {
98
- if (typeof contractOpt === 'string') {
99
- var name = (0, _path.basename)(contractOpt);
100
- var contractName = (0, _case.pascal)(name);
101
- return {
102
- name: contractName,
103
- dir: contractOpt
104
- };
105
- }
106
-
107
- return {
108
- name: (0, _case.pascal)(contractOpt.name),
109
- dir: contractOpt.dir
110
- };
111
- });
118
+ key: "loadDefaultPlugins",
119
+ value: function loadDefaultPlugins() {
120
+ [].push.apply(this.plugins, [new _types2.TypesPlugin(this.options), new _client.ClientPlugin(this.options), new _messageComposer.MessageComposerPlugin(this.options), new _reactQuery.ReactQueryPlugin(this.options), new _recoil.RecoilPlugin(this.options), new _msgBuilder.MsgBuilderPlugin(this.options)]);
112
121
  }
113
122
  }, {
114
- key: "renderTypes",
123
+ key: "build",
115
124
  value: function () {
116
- var _renderTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(contract) {
117
- var _this$options$types, enabled, options, contractInfo, files;
118
-
125
+ var _build = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
119
126
  return _regenerator["default"].wrap(function _callee$(_context) {
120
127
  while (1) {
121
128
  switch (_context.prev = _context.next) {
122
129
  case 0:
123
- _this$options$types = this.options.types, enabled = _this$options$types.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$types, _excluded);
124
-
125
- if (enabled) {
126
- _context.next = 3;
127
- break;
128
- }
129
-
130
- return _context.abrupt("return");
131
-
132
- case 3:
133
- _context.next = 5;
134
- return (0, _utils.readSchemas)({
135
- schemaDir: contract.dir
136
- });
137
-
138
- case 5:
139
- contractInfo = _context.sent;
140
- _context.next = 8;
141
- return (0, _types["default"])(contract.name, contractInfo, this.outPath, options);
130
+ _context.next = 2;
131
+ return this.process();
142
132
 
143
- case 8:
144
- files = _context.sent;
145
- [].push.apply(this.files, files);
133
+ case 2:
134
+ _context.next = 4;
135
+ return this.after();
146
136
 
147
- case 10:
137
+ case 4:
148
138
  case "end":
149
139
  return _context.stop();
150
140
  }
@@ -152,296 +142,217 @@ var TSBuilder = /*#__PURE__*/function () {
152
142
  }, _callee, this);
153
143
  }));
154
144
 
155
- function renderTypes(_x) {
156
- return _renderTypes.apply(this, arguments);
145
+ function build() {
146
+ return _build.apply(this, arguments);
157
147
  }
158
148
 
159
- return renderTypes;
160
- }()
149
+ return build;
150
+ }() // lifecycle functions
151
+
161
152
  }, {
162
- key: "renderClient",
153
+ key: "process",
163
154
  value: function () {
164
- var _renderClient = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(contract) {
165
- var _this$options$client, enabled, options, contractInfo, files;
155
+ var _process = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
156
+ var _iterator, _step, contractOpt, contract, contractInfo;
166
157
 
167
158
  return _regenerator["default"].wrap(function _callee2$(_context2) {
168
159
  while (1) {
169
160
  switch (_context2.prev = _context2.next) {
170
161
  case 0:
171
- _this$options$client = this.options.client, enabled = _this$options$client.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$client, _excluded2);
162
+ _iterator = _createForOfIteratorHelper(this.contracts);
163
+ _context2.prev = 1;
164
+
165
+ _iterator.s();
172
166
 
173
- if (enabled) {
174
- _context2.next = 3;
167
+ case 3:
168
+ if ((_step = _iterator.n()).done) {
169
+ _context2.next = 13;
175
170
  break;
176
171
  }
177
172
 
178
- return _context2.abrupt("return");
173
+ contractOpt = _step.value;
174
+ contract = getContract(contractOpt); //resolve contract schema.
179
175
 
180
- case 3:
181
- _context2.next = 5;
176
+ _context2.next = 8;
182
177
  return (0, _utils.readSchemas)({
183
178
  schemaDir: contract.dir
184
179
  });
185
180
 
186
- case 5:
187
- contractInfo = _context2.sent;
188
- _context2.next = 8;
189
- return (0, _client["default"])(contract.name, contractInfo, this.outPath, options);
190
-
191
181
  case 8:
192
- files = _context2.sent;
193
- [].push.apply(this.files, files);
194
-
195
- case 10:
196
- case "end":
197
- return _context2.stop();
198
- }
199
- }
200
- }, _callee2, this);
201
- }));
202
-
203
- function renderClient(_x2) {
204
- return _renderClient.apply(this, arguments);
205
- }
182
+ contractInfo = _context2.sent;
183
+ _context2.next = 11;
184
+ return this.render(contract.name, contractInfo);
206
185
 
207
- return renderClient;
208
- }()
209
- }, {
210
- key: "renderRecoil",
211
- value: function () {
212
- var _renderRecoil = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(contract) {
213
- var _this$options$recoil, enabled, options, contractInfo, files;
186
+ case 11:
187
+ _context2.next = 3;
188
+ break;
214
189
 
215
- return _regenerator["default"].wrap(function _callee3$(_context3) {
216
- while (1) {
217
- switch (_context3.prev = _context3.next) {
218
- case 0:
219
- _this$options$recoil = this.options.recoil, enabled = _this$options$recoil.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$recoil, _excluded3);
190
+ case 13:
191
+ _context2.next = 18;
192
+ break;
220
193
 
221
- if (enabled) {
222
- _context3.next = 3;
223
- break;
224
- }
194
+ case 15:
195
+ _context2.prev = 15;
196
+ _context2.t0 = _context2["catch"](1);
225
197
 
226
- return _context3.abrupt("return");
198
+ _iterator.e(_context2.t0);
227
199
 
228
- case 3:
229
- _context3.next = 5;
230
- return (0, _utils.readSchemas)({
231
- schemaDir: contract.dir
232
- });
200
+ case 18:
201
+ _context2.prev = 18;
233
202
 
234
- case 5:
235
- contractInfo = _context3.sent;
236
- _context3.next = 8;
237
- return (0, _recoil["default"])(contract.name, contractInfo, this.outPath, options);
203
+ _iterator.f();
238
204
 
239
- case 8:
240
- files = _context3.sent;
241
- [].push.apply(this.files, files);
205
+ return _context2.finish(18);
242
206
 
243
- case 10:
207
+ case 21:
244
208
  case "end":
245
- return _context3.stop();
209
+ return _context2.stop();
246
210
  }
247
211
  }
248
- }, _callee3, this);
212
+ }, _callee2, this, [[1, 15, 18, 21]]);
249
213
  }));
250
214
 
251
- function renderRecoil(_x3) {
252
- return _renderRecoil.apply(this, arguments);
215
+ function process() {
216
+ return _process.apply(this, arguments);
253
217
  }
254
218
 
255
- return renderRecoil;
219
+ return process;
256
220
  }()
257
221
  }, {
258
- key: "renderReactQuery",
222
+ key: "render",
259
223
  value: function () {
260
- var _renderReactQuery = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(contract) {
261
- var _this$options$reactQu, enabled, options, contractInfo, files;
224
+ var _render = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, contractInfo) {
225
+ var _iterator2, _step2, plugin, files;
262
226
 
263
- return _regenerator["default"].wrap(function _callee4$(_context4) {
227
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
264
228
  while (1) {
265
- switch (_context4.prev = _context4.next) {
229
+ switch (_context3.prev = _context3.next) {
266
230
  case 0:
267
- _this$options$reactQu = this.options.reactQuery, enabled = _this$options$reactQu.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$reactQu, _excluded4);
268
-
269
- if (enabled) {
270
- _context4.next = 3;
271
- break;
272
- }
231
+ _iterator2 = _createForOfIteratorHelper(this.plugins);
232
+ _context3.prev = 1;
273
233
 
274
- return _context4.abrupt("return");
234
+ _iterator2.s();
275
235
 
276
236
  case 3:
277
- _context4.next = 5;
278
- return (0, _utils.readSchemas)({
279
- schemaDir: contract.dir
280
- });
237
+ if ((_step2 = _iterator2.n()).done) {
238
+ _context3.next = 11;
239
+ break;
240
+ }
281
241
 
282
- case 5:
283
- contractInfo = _context4.sent;
284
- _context4.next = 8;
285
- return (0, _reactQuery["default"])(contract.name, contractInfo, this.outPath, options);
242
+ plugin = _step2.value;
243
+ _context3.next = 7;
244
+ return plugin.render(name, contractInfo, this.outPath);
286
245
 
287
- case 8:
288
- files = _context4.sent;
289
- [].push.apply(this.files, files);
290
-
291
- case 10:
292
- case "end":
293
- return _context4.stop();
294
- }
295
- }
296
- }, _callee4, this);
297
- }));
246
+ case 7:
247
+ files = _context3.sent;
298
248
 
299
- function renderReactQuery(_x4) {
300
- return _renderReactQuery.apply(this, arguments);
301
- }
249
+ if (files && files.length) {
250
+ [].push.apply(this.files, files);
251
+ }
302
252
 
303
- return renderReactQuery;
304
- }()
305
- }, {
306
- key: "renderMessageComposer",
307
- value: function () {
308
- var _renderMessageComposer = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(contract) {
309
- var _this$options$message, enabled, options, contractInfo, files;
253
+ case 9:
254
+ _context3.next = 3;
255
+ break;
310
256
 
311
- return _regenerator["default"].wrap(function _callee5$(_context5) {
312
- while (1) {
313
- switch (_context5.prev = _context5.next) {
314
- case 0:
315
- _this$options$message = this.options.messageComposer, enabled = _this$options$message.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$message, _excluded5);
257
+ case 11:
258
+ _context3.next = 16;
259
+ break;
316
260
 
317
- if (enabled) {
318
- _context5.next = 3;
319
- break;
320
- }
261
+ case 13:
262
+ _context3.prev = 13;
263
+ _context3.t0 = _context3["catch"](1);
321
264
 
322
- return _context5.abrupt("return");
265
+ _iterator2.e(_context3.t0);
323
266
 
324
- case 3:
325
- _context5.next = 5;
326
- return (0, _utils.readSchemas)({
327
- schemaDir: contract.dir
328
- });
267
+ case 16:
268
+ _context3.prev = 16;
329
269
 
330
- case 5:
331
- contractInfo = _context5.sent;
332
- _context5.next = 8;
333
- return (0, _messageComposer["default"])(contract.name, contractInfo, this.outPath, options);
270
+ _iterator2.f();
334
271
 
335
- case 8:
336
- files = _context5.sent;
337
- [].push.apply(this.files, files);
272
+ return _context3.finish(16);
338
273
 
339
- case 10:
274
+ case 19:
340
275
  case "end":
341
- return _context5.stop();
276
+ return _context3.stop();
342
277
  }
343
278
  }
344
- }, _callee5, this);
279
+ }, _callee3, this, [[1, 13, 16, 19]]);
345
280
  }));
346
281
 
347
- function renderMessageComposer(_x5) {
348
- return _renderMessageComposer.apply(this, arguments);
282
+ function render(_x, _x2) {
283
+ return _render.apply(this, arguments);
349
284
  }
350
285
 
351
- return renderMessageComposer;
286
+ return render;
352
287
  }()
353
288
  }, {
354
- key: "build",
289
+ key: "after",
355
290
  value: function () {
356
- var _build = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
357
- var contracts, c, contract;
358
- return _regenerator["default"].wrap(function _callee6$(_context6) {
291
+ var _after = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
292
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
359
293
  while (1) {
360
- switch (_context6.prev = _context6.next) {
294
+ switch (_context4.prev = _context4.next) {
361
295
  case 0:
362
- contracts = this.getContracts();
363
- c = 0;
364
-
365
- case 2:
366
- if (!(c < contracts.length)) {
367
- _context6.next = 17;
368
- break;
369
- }
370
-
371
- contract = contracts[c];
372
- _context6.next = 6;
373
- return this.renderTypes(contract);
374
-
375
- case 6:
376
- _context6.next = 8;
377
- return this.renderClient(contract);
378
-
379
- case 8:
380
- _context6.next = 10;
381
- return this.renderMessageComposer(contract);
382
-
383
- case 10:
384
- _context6.next = 12;
385
- return this.renderReactQuery(contract);
386
-
387
- case 12:
388
- _context6.next = 14;
389
- return this.renderRecoil(contract);
390
-
391
- case 14:
392
- c++;
393
- _context6.next = 2;
394
- break;
395
-
396
- case 17:
397
296
  if (this.options.bundle.enabled) {
398
297
  this.bundle();
399
298
  }
400
299
 
401
- case 18:
300
+ case 1:
402
301
  case "end":
403
- return _context6.stop();
302
+ return _context4.stop();
404
303
  }
405
304
  }
406
- }, _callee6, this);
305
+ }, _callee4, this);
407
306
  }));
408
307
 
409
- function build() {
410
- return _build.apply(this, arguments);
308
+ function after() {
309
+ return _after.apply(this, arguments);
411
310
  }
412
311
 
413
- return build;
312
+ return after;
414
313
  }()
415
314
  }, {
416
315
  key: "bundle",
417
316
  value: function () {
418
- var _bundle = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
419
- var _this = this;
317
+ var _bundle = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
318
+ var _this$options$bundle$,
319
+ _this$options,
320
+ _this$options$bundle,
321
+ _this = this,
322
+ _this$options2,
323
+ _this$options2$bundle;
420
324
 
421
- var allFiles, bundleFile, bundleVariables, importPaths, ast, code;
422
- return _regenerator["default"].wrap(function _callee7$(_context7) {
325
+ var allFiles, bundleFile, bundlePath, bundleVariables, importPaths, ast, code, _this$options3, _this$options3$bundle;
326
+
327
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
423
328
  while (1) {
424
- switch (_context7.prev = _context7.next) {
329
+ switch (_context5.prev = _context5.next) {
425
330
  case 0:
426
331
  allFiles = this.files;
427
332
  bundleFile = this.options.bundle.bundleFile;
333
+ bundlePath = (0, _path.join)((_this$options$bundle$ = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$bundle = _this$options.bundle) === null || _this$options$bundle === void 0 ? void 0 : _this$options$bundle.bundlePath) !== null && _this$options$bundle$ !== void 0 ? _this$options$bundle$ : this.outPath, bundleFile);
428
334
  bundleVariables = {};
429
335
  importPaths = [];
430
336
  allFiles.forEach(function (file) {
431
- (0, _bundler.createFileBundle)("".concat(_this.options.bundle.scope, ".").concat(file.contract), file.localname, bundleFile, importPaths, bundleVariables);
337
+ (0, _bundler.createFileBundle)("".concat(_this.options.bundle.scope, ".").concat(file.contract), file.filename, bundlePath, importPaths, bundleVariables);
432
338
  });
433
339
  ast = (0, _bundler.recursiveModuleBundle)(bundleVariables);
434
340
  code = (0, _generator["default"])(t.program([].concat(importPaths, (0, _toConsumableArray2["default"])(ast)))).code;
341
+
342
+ if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && (_this$options2$bundle = _this$options2.bundle) !== null && _this$options2$bundle !== void 0 && _this$options2$bundle.bundlePath) {
343
+ (0, _mkdirp.sync)((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : (_this$options3$bundle = _this$options3.bundle) === null || _this$options3$bundle === void 0 ? void 0 : _this$options3$bundle.bundlePath);
344
+ }
345
+
435
346
  (0, _mkdirp.sync)(this.outPath);
436
347
  if (code.trim() === '') code = 'export {};';
437
- (0, _fs.writeFileSync)((0, _path.join)(this.outPath, bundleFile), _header.header + code);
348
+ (0, _fs.writeFileSync)(bundlePath, _header.header + code);
438
349
 
439
- case 10:
350
+ case 12:
440
351
  case "end":
441
- return _context7.stop();
352
+ return _context5.stop();
442
353
  }
443
354
  }
444
- }, _callee7, this);
355
+ }, _callee5, this);
445
356
  }));
446
357
 
447
358
  function bundle() {
@@ -185,6 +185,9 @@ var _default = /*#__PURE__*/function () {
185
185
  messageComposer: {
186
186
  enabled: plugin.includes('message-composer')
187
187
  },
188
+ msgBuilder: {
189
+ enabled: plugin.includes('msg-builder')
190
+ },
188
191
  bundle: {
189
192
  enabled: bundle,
190
193
  scope: bundleScope,