@cosmwasm/ts-codegen 0.7.3 → 0.8.1

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 (71) hide show
  1. package/README.md +238 -59
  2. package/main/builder/builder.js +456 -0
  3. package/main/builder/index.js +18 -0
  4. package/main/bundler/bundler.js +74 -0
  5. package/main/bundler/index.js +18 -0
  6. package/main/cmds.js +3 -9
  7. package/main/commands/create-boilerplate.js +195 -0
  8. package/main/commands/generate.js +91 -16
  9. package/main/generators/{ts-client.js → client.js} +29 -23
  10. package/main/generators/{from-partial.js → message-composer.js} +29 -21
  11. package/main/generators/react-query.js +27 -21
  12. package/main/generators/recoil.js +31 -15
  13. package/main/generators/types.js +95 -0
  14. package/main/index.js +71 -17
  15. package/main/types.js +1 -0
  16. package/main/utils/schemas.js +5 -3
  17. package/module/builder/builder.js +178 -0
  18. package/module/builder/index.js +1 -0
  19. package/module/bundler/bundler.js +36 -0
  20. package/module/bundler/index.js +1 -0
  21. package/module/cmds.js +2 -6
  22. package/module/commands/create-boilerplate.js +116 -0
  23. package/module/commands/generate.js +82 -8
  24. package/module/generators/{ts-client.js → client.js} +21 -15
  25. package/module/generators/{from-partial.js → message-composer.js} +23 -17
  26. package/module/generators/react-query.js +20 -15
  27. package/module/generators/recoil.js +23 -9
  28. package/module/generators/types.js +40 -0
  29. package/module/index.js +12 -5
  30. package/module/types.js +1 -0
  31. package/module/utils/schemas.js +3 -2
  32. package/package.json +5 -3
  33. package/types/builder/builder.d.ts +39 -0
  34. package/types/builder/index.d.ts +1 -0
  35. package/types/bundler/bundler.d.ts +4 -0
  36. package/types/bundler/index.d.ts +1 -0
  37. package/types/commands/{from-partial.d.ts → client.d.ts} +0 -0
  38. package/types/commands/message-composer.d.ts +2 -0
  39. package/types/commands/types.d.ts +2 -0
  40. package/types/generators/client.d.ts +3 -0
  41. package/types/generators/message-composer.d.ts +3 -0
  42. package/types/generators/react-query.d.ts +2 -1
  43. package/types/generators/recoil.d.ts +2 -1
  44. package/types/generators/types.d.ts +3 -0
  45. package/types/index.d.ts +10 -5
  46. package/types/types.d.ts +1 -0
  47. package/types/utils/schemas.d.ts +8 -4
  48. package/main/commands/from-partial.js +0 -78
  49. package/main/commands/react-query.js +0 -98
  50. package/main/commands/recoil.js +0 -78
  51. package/main/utils/imports.js +0 -26
  52. package/module/commands/from-partial.js +0 -33
  53. package/module/commands/react-query.js +0 -54
  54. package/module/commands/recoil.js +0 -33
  55. package/module/utils/imports.js +0 -10
  56. package/types/clean.d.ts +0 -1
  57. package/types/cleanse.d.ts +0 -1
  58. package/types/commands/boilerplate.d.ts +0 -2
  59. package/types/cosmwasm-typescript-gen.d.ts +0 -2
  60. package/types/from-partial.d.ts +0 -2
  61. package/types/generate.d.ts +0 -2
  62. package/types/generators/from-partial.d.ts +0 -2
  63. package/types/generators/ts-client.d.ts +0 -2
  64. package/types/header.d.ts +0 -1
  65. package/types/imports.d.ts +0 -1
  66. package/types/parse.d.ts +0 -1
  67. package/types/prompt.d.ts +0 -3
  68. package/types/react-query.d.ts +0 -2
  69. package/types/recoil.d.ts +0 -2
  70. package/types/utils/imports.d.ts +0 -1
  71. package/types/utils.d.ts +0 -10
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.TSBuilder = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
+
20
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
+
22
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _wasmAstTypes = require("wasm-ast-types");
27
+
28
+ var _header = require("../utils/header");
29
+
30
+ var _path = require("path");
31
+
32
+ var _fs = require("fs");
33
+
34
+ var _mkdirp = require("mkdirp");
35
+
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
+ var _utils = require("../utils");
47
+
48
+ var _deepmerge = _interopRequireDefault(require("deepmerge"));
49
+
50
+ var _case = require("case");
51
+
52
+ var _bundler = require("../bundler");
53
+
54
+ var _generator = _interopRequireDefault(require("@babel/generator"));
55
+
56
+ var t = _interopRequireWildcard(require("@babel/types"));
57
+
58
+ var _excluded = ["enabled"],
59
+ _excluded2 = ["enabled"],
60
+ _excluded3 = ["enabled"],
61
+ _excluded4 = ["enabled"],
62
+ _excluded5 = ["enabled"];
63
+
64
+ 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
+
66
+ 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
+
68
+ var defaultOpts = {
69
+ bundle: {
70
+ enabled: true,
71
+ scope: 'contracts',
72
+ bundleFile: 'bundle.ts'
73
+ }
74
+ };
75
+ ;
76
+ ;
77
+ ;
78
+
79
+ var TSBuilder = /*#__PURE__*/function () {
80
+ function TSBuilder(_ref) {
81
+ var contracts = _ref.contracts,
82
+ outPath = _ref.outPath,
83
+ options = _ref.options;
84
+ (0, _classCallCheck2["default"])(this, TSBuilder);
85
+ (0, _defineProperty2["default"])(this, "contracts", void 0);
86
+ (0, _defineProperty2["default"])(this, "outPath", void 0);
87
+ (0, _defineProperty2["default"])(this, "options", void 0);
88
+ (0, _defineProperty2["default"])(this, "files", []);
89
+ this.contracts = contracts;
90
+ this.outPath = outPath;
91
+ this.options = (0, _deepmerge["default"])((0, _deepmerge["default"])(_wasmAstTypes.defaultOptions, defaultOpts), options !== null && options !== void 0 ? options : {});
92
+ }
93
+
94
+ (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
+ });
112
+ }
113
+ }, {
114
+ key: "renderTypes",
115
+ value: function () {
116
+ var _renderTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(contract) {
117
+ var _this$options$types, enabled, options, schemas, files;
118
+
119
+ return _regenerator["default"].wrap(function _callee$(_context) {
120
+ while (1) {
121
+ switch (_context.prev = _context.next) {
122
+ 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
+ schemas = _context.sent;
140
+ _context.next = 8;
141
+ return (0, _types["default"])(contract.name, schemas, this.outPath, options);
142
+
143
+ case 8:
144
+ files = _context.sent;
145
+ [].push.apply(this.files, files);
146
+
147
+ case 10:
148
+ case "end":
149
+ return _context.stop();
150
+ }
151
+ }
152
+ }, _callee, this);
153
+ }));
154
+
155
+ function renderTypes(_x) {
156
+ return _renderTypes.apply(this, arguments);
157
+ }
158
+
159
+ return renderTypes;
160
+ }()
161
+ }, {
162
+ key: "renderClient",
163
+ value: function () {
164
+ var _renderClient = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(contract) {
165
+ var _this$options$client, enabled, options, schemas, files;
166
+
167
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
168
+ while (1) {
169
+ switch (_context2.prev = _context2.next) {
170
+ case 0:
171
+ _this$options$client = this.options.client, enabled = _this$options$client.enabled, options = (0, _objectWithoutProperties2["default"])(_this$options$client, _excluded2);
172
+
173
+ if (enabled) {
174
+ _context2.next = 3;
175
+ break;
176
+ }
177
+
178
+ return _context2.abrupt("return");
179
+
180
+ case 3:
181
+ _context2.next = 5;
182
+ return (0, _utils.readSchemas)({
183
+ schemaDir: contract.dir
184
+ });
185
+
186
+ case 5:
187
+ schemas = _context2.sent;
188
+ _context2.next = 8;
189
+ return (0, _client["default"])(contract.name, schemas, this.outPath, options);
190
+
191
+ 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
+ }
206
+
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, schemas, files;
214
+
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);
220
+
221
+ if (enabled) {
222
+ _context3.next = 3;
223
+ break;
224
+ }
225
+
226
+ return _context3.abrupt("return");
227
+
228
+ case 3:
229
+ _context3.next = 5;
230
+ return (0, _utils.readSchemas)({
231
+ schemaDir: contract.dir
232
+ });
233
+
234
+ case 5:
235
+ schemas = _context3.sent;
236
+ _context3.next = 8;
237
+ return (0, _recoil["default"])(contract.name, schemas, this.outPath, options);
238
+
239
+ case 8:
240
+ files = _context3.sent;
241
+ [].push.apply(this.files, files);
242
+
243
+ case 10:
244
+ case "end":
245
+ return _context3.stop();
246
+ }
247
+ }
248
+ }, _callee3, this);
249
+ }));
250
+
251
+ function renderRecoil(_x3) {
252
+ return _renderRecoil.apply(this, arguments);
253
+ }
254
+
255
+ return renderRecoil;
256
+ }()
257
+ }, {
258
+ key: "renderReactQuery",
259
+ value: function () {
260
+ var _renderReactQuery = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(contract) {
261
+ var _this$options$reactQu, enabled, options, schemas, files;
262
+
263
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
264
+ while (1) {
265
+ switch (_context4.prev = _context4.next) {
266
+ 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
+ }
273
+
274
+ return _context4.abrupt("return");
275
+
276
+ case 3:
277
+ _context4.next = 5;
278
+ return (0, _utils.readSchemas)({
279
+ schemaDir: contract.dir
280
+ });
281
+
282
+ case 5:
283
+ schemas = _context4.sent;
284
+ _context4.next = 8;
285
+ return (0, _reactQuery["default"])(contract.name, schemas, this.outPath, options);
286
+
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
+ }));
298
+
299
+ function renderReactQuery(_x4) {
300
+ return _renderReactQuery.apply(this, arguments);
301
+ }
302
+
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, schemas, files;
310
+
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);
316
+
317
+ if (enabled) {
318
+ _context5.next = 3;
319
+ break;
320
+ }
321
+
322
+ return _context5.abrupt("return");
323
+
324
+ case 3:
325
+ _context5.next = 5;
326
+ return (0, _utils.readSchemas)({
327
+ schemaDir: contract.dir
328
+ });
329
+
330
+ case 5:
331
+ schemas = _context5.sent;
332
+ _context5.next = 8;
333
+ return (0, _messageComposer["default"])(contract.name, schemas, this.outPath, options);
334
+
335
+ case 8:
336
+ files = _context5.sent;
337
+ [].push.apply(this.files, files);
338
+
339
+ case 10:
340
+ case "end":
341
+ return _context5.stop();
342
+ }
343
+ }
344
+ }, _callee5, this);
345
+ }));
346
+
347
+ function renderMessageComposer(_x5) {
348
+ return _renderMessageComposer.apply(this, arguments);
349
+ }
350
+
351
+ return renderMessageComposer;
352
+ }()
353
+ }, {
354
+ key: "build",
355
+ 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) {
359
+ while (1) {
360
+ switch (_context6.prev = _context6.next) {
361
+ 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
+ if (this.options.bundle.enabled) {
398
+ this.bundle();
399
+ }
400
+
401
+ case 18:
402
+ case "end":
403
+ return _context6.stop();
404
+ }
405
+ }
406
+ }, _callee6, this);
407
+ }));
408
+
409
+ function build() {
410
+ return _build.apply(this, arguments);
411
+ }
412
+
413
+ return build;
414
+ }()
415
+ }, {
416
+ key: "bundle",
417
+ value: function () {
418
+ var _bundle = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
419
+ var _this = this;
420
+
421
+ var allFiles, bundleFile, bundleVariables, importPaths, ast, code;
422
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
423
+ while (1) {
424
+ switch (_context7.prev = _context7.next) {
425
+ case 0:
426
+ allFiles = this.files;
427
+ bundleFile = this.options.bundle.bundleFile;
428
+ bundleVariables = {};
429
+ importPaths = [];
430
+ allFiles.forEach(function (file) {
431
+ (0, _bundler.createFileBundle)("".concat(_this.options.bundle.scope, ".").concat(file.contract), file.localname, bundleFile, importPaths, bundleVariables);
432
+ });
433
+ ast = (0, _bundler.recursiveModuleBundle)(bundleVariables);
434
+ code = (0, _generator["default"])(t.program([].concat(importPaths, (0, _toConsumableArray2["default"])(ast)))).code;
435
+ (0, _mkdirp.sync)(this.outPath);
436
+ (0, _fs.writeFileSync)((0, _path.join)(this.outPath, bundleFile), _header.header + code);
437
+
438
+ case 9:
439
+ case "end":
440
+ return _context7.stop();
441
+ }
442
+ }
443
+ }, _callee7, this);
444
+ }));
445
+
446
+ function bundle() {
447
+ return _bundle.apply(this, arguments);
448
+ }
449
+
450
+ return bundle;
451
+ }()
452
+ }]);
453
+ return TSBuilder;
454
+ }();
455
+
456
+ exports.TSBuilder = TSBuilder;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _builder = require("./builder");
8
+
9
+ Object.keys(_builder).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _builder[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _builder[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.recursiveModuleBundle = exports.importNamespace = exports.createFileBundle = void 0;
9
+
10
+ var t = _interopRequireWildcard(require("@babel/types"));
11
+
12
+ var dotty = _interopRequireWildcard(require("dotty"));
13
+
14
+ var _path = require("path");
15
+
16
+ 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); }
17
+
18
+ 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; }
19
+
20
+ var recursiveModuleBundle = function recursiveModuleBundle(obj) {
21
+ return Object.keys(obj).map(function (key) {
22
+ var _obj$key;
23
+
24
+ if ((_obj$key = obj[key]) !== null && _obj$key !== void 0 && _obj$key.__export) {
25
+ // e.g. abci
26
+ // 1. create variable for abci
27
+ // 2. splat ALL _0, parms into abci
28
+ // 3. export that variable
29
+ var nmspc = t.variableDeclaration('const', [t.variableDeclarator(t.identifier(key), t.objectExpression(Object.keys(obj[key]).filter(function (a) {
30
+ return a !== '__export';
31
+ }).filter(function (a) {
32
+ return a.startsWith('_');
33
+ }).map(function (a) {
34
+ return t.spreadElement(t.identifier(a));
35
+ })))]);
36
+ var others = Object.keys(obj[key]).filter(function (a) {
37
+ return a !== '__export';
38
+ }).filter(function (a) {
39
+ return !a.startsWith('_');
40
+ });
41
+
42
+ if (others.length) {
43
+ throw new Error('namespace and package not supported, yet.');
44
+ } // return nmspc;
45
+
46
+
47
+ return t.exportNamedDeclaration(nmspc, []);
48
+ } else {
49
+ // you can make a namespace for obj[key]
50
+ // e.g. libs
51
+ return t.exportNamedDeclaration(t.tsModuleDeclaration(t.identifier(key), t.tsModuleBlock(recursiveModuleBundle(obj[key]))));
52
+ }
53
+ });
54
+ };
55
+
56
+ exports.recursiveModuleBundle = recursiveModuleBundle;
57
+
58
+ var importNamespace = function importNamespace(ident, path) {
59
+ return t.importDeclaration([t.importNamespaceSpecifier(t.identifier(ident))], t.stringLiteral(path.replace((0, _path.extname)(path), '')));
60
+ };
61
+
62
+ exports.importNamespace = importNamespace;
63
+ var counter = 0;
64
+
65
+ var createFileBundle = function createFileBundle(pkg, filename, bundleFile, importPaths, bundleVariables) {
66
+ var rel = (0, _path.relative)((0, _path.dirname)(bundleFile), filename);
67
+ if (!rel.startsWith('.')) rel = "./".concat(rel);
68
+ var variable = "_".concat(counter++);
69
+ importPaths.push(importNamespace(variable, rel));
70
+ dotty.put(bundleVariables, pkg + '.__export', true);
71
+ dotty.put(bundleVariables, pkg + '.' + variable, true);
72
+ };
73
+
74
+ exports.createFileBundle = createFileBundle;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _bundler = require("./bundler");
8
+
9
+ Object.keys(_bundler).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _bundler[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _bundler[key];
16
+ }
17
+ });
18
+ });
package/main/cmds.js CHANGED
@@ -7,17 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Commands = void 0;
9
9
 
10
- var _fromPartial = _interopRequireDefault(require("./commands/from-partial"));
10
+ var _createBoilerplate = _interopRequireDefault(require("./commands/create-boilerplate"));
11
11
 
12
12
  var _generate2 = _interopRequireDefault(require("./commands/generate"));
13
13
 
14
- var _reactQuery = _interopRequireDefault(require("./commands/react-query"));
15
-
16
- var _recoil2 = _interopRequireDefault(require("./commands/recoil"));
17
-
18
14
  var Commands = {};
19
15
  exports.Commands = Commands;
20
- Commands['from-partial'] = _fromPartial["default"];
21
- Commands['generate'] = _generate2["default"];
22
- Commands['react-query'] = _reactQuery["default"];
23
- Commands['recoil'] = _recoil2["default"];
16
+ Commands['create-boilerplate'] = _createBoilerplate["default"];
17
+ Commands['generate'] = _generate2["default"];