react-native-builder-bob 0.37.0 → 0.38.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.
@@ -15,9 +15,29 @@ var _exportNames = {
15
15
  pac: true,
16
16
  pak: true,
17
17
  pax: true,
18
- a1: true
18
+ a1: true,
19
+ NativeLibA: true,
20
+ NativeLibB: true,
21
+ NativeLibC: true,
22
+ NativeLibD: true,
23
+ NativeLibE: true,
24
+ NativeLibF: true,
25
+ NativeLibG: true,
26
+ NativeLibH: true,
27
+ NativeLibI: true,
28
+ NativeLibJ: true,
29
+ NativeViewA: true,
30
+ NativeViewB: true,
31
+ NativeViewC: true,
32
+ NativeViewD: true,
33
+ NativeViewE: true,
34
+ NativeViewF: true,
35
+ NativeViewG: true,
36
+ NativeViewH: true,
37
+ NativeViewI: true,
38
+ NativeViewJ: true
19
39
  };
20
- exports.a = void 0;
40
+ exports.a = exports.NativeViewJ = exports.NativeViewI = exports.NativeViewH = exports.NativeViewG = exports.NativeViewF = exports.NativeViewE = exports.NativeViewD = exports.NativeViewC = exports.NativeViewB = exports.NativeViewA = exports.NativeLibJ = exports.NativeLibI = exports.NativeLibH = exports.NativeLibG = exports.NativeLibF = exports.NativeLibE = exports.NativeLibD = exports.NativeLibC = exports.NativeLibB = exports.NativeLibA = void 0;
21
41
  Object.defineProperty(exports, "a1", {
22
42
  enumerable: true,
23
43
  get: function () {
@@ -55,6 +75,46 @@ exports.pak = _pak;
55
75
  var _pax = _interopRequireWildcard(require("../index"));
56
76
  exports.pax = _pax;
57
77
  var _a3 = require("./a");
78
+ var _NativeLibA = _interopRequireWildcard(require("./MyNativeLib"));
79
+ exports.NativeLibA = _NativeLibA;
80
+ var _NativeLibB = _interopRequireWildcard(require("../MyNativeLib"));
81
+ exports.NativeLibB = _NativeLibB;
82
+ var _NativeLibC = _interopRequireWildcard(require("./MyNativeLib.ts"));
83
+ exports.NativeLibC = _NativeLibC;
84
+ var _NativeLibD = _interopRequireWildcard(require("../MyNativeLib.ts"));
85
+ exports.NativeLibD = _NativeLibD;
86
+ var _NativeLibE = _interopRequireWildcard(require("./MyNativeLib.tsx"));
87
+ exports.NativeLibE = _NativeLibE;
88
+ var _NativeLibF = _interopRequireWildcard(require("../MyNativeLib.tsx"));
89
+ exports.NativeLibF = _NativeLibF;
90
+ var _NativeLibG = _interopRequireWildcard(require("./MyNativeLib.js"));
91
+ exports.NativeLibG = _NativeLibG;
92
+ var _NativeLibH = _interopRequireWildcard(require("../MyNativeLib.js"));
93
+ exports.NativeLibH = _NativeLibH;
94
+ var _NativeLibI = _interopRequireWildcard(require("./MyNativeLib.jsx"));
95
+ exports.NativeLibI = _NativeLibI;
96
+ var _NativeLibJ = _interopRequireWildcard(require("../MyNativeLib.jsx"));
97
+ exports.NativeLibJ = _NativeLibJ;
98
+ var _NativeViewA = _interopRequireWildcard(require("./MyNativeComponent"));
99
+ exports.NativeViewA = _NativeViewA;
100
+ var _NativeViewB = _interopRequireWildcard(require("../MyNativeComponent"));
101
+ exports.NativeViewB = _NativeViewB;
102
+ var _NativeViewC = _interopRequireWildcard(require("./MyNativeComponent.ts"));
103
+ exports.NativeViewC = _NativeViewC;
104
+ var _NativeViewD = _interopRequireWildcard(require("../MyNativeComponent.ts"));
105
+ exports.NativeViewD = _NativeViewD;
106
+ var _NativeViewE = _interopRequireWildcard(require("./MyNativeComponent.tsx"));
107
+ exports.NativeViewE = _NativeViewE;
108
+ var _NativeViewF = _interopRequireWildcard(require("../MyNativeComponent.tsx"));
109
+ exports.NativeViewF = _NativeViewF;
110
+ var _NativeViewG = _interopRequireWildcard(require("./MyNativeComponent.js"));
111
+ exports.NativeViewG = _NativeViewG;
112
+ var _NativeViewH = _interopRequireWildcard(require("../MyNativeComponent.js"));
113
+ exports.NativeViewH = _NativeViewH;
114
+ var _NativeViewI = _interopRequireWildcard(require("./MyNativeComponent.jsx"));
115
+ exports.NativeViewI = _NativeViewI;
116
+ var _NativeViewJ = _interopRequireWildcard(require("../MyNativeComponent.jsx"));
117
+ exports.NativeViewJ = _NativeViewJ;
58
118
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
59
119
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
60
120
  const foo = exports.foo = "foo";
@@ -1 +1 @@
1
- {"version":3,"file":"$exports-input.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","pac","_pak","pak","_pax","pax","_a3","_getRequireWildcardCache","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","foo","bar"],"sources":["../../../../src/__fixtures__/project/code/$exports-input.ts"],"sourcesContent":["export * as a from \"a\";\nexport * as b from \"./b\";\nexport * as c from \"./c\";\nexport * as d from \"./d\";\nexport * as e from \"./e.story\";\nexport * as f from \"../f\";\nexport * as pac from \"..\";\nexport * as pak from \"../\";\nexport * as pax from \"../index\";\n\nexport { a as a1 } from \"./a\";\nexport * from \"./b\";\n\nexport type { A } from \"./a\";\n\nexport const foo = \"foo\";\n\nconst bar = \"bar\";\n\nexport { bar };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"$exports-input.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","pac","_pak","pak","_pax","pax","_a3","_NativeLibA","NativeLibA","_NativeLibB","NativeLibB","_NativeLibC","NativeLibC","_NativeLibD","NativeLibD","_NativeLibE","NativeLibE","_NativeLibF","NativeLibF","_NativeLibG","NativeLibG","_NativeLibH","NativeLibH","_NativeLibI","NativeLibI","_NativeLibJ","NativeLibJ","_NativeViewA","NativeViewA","_NativeViewB","NativeViewB","_NativeViewC","NativeViewC","_NativeViewD","NativeViewD","_NativeViewE","NativeViewE","_NativeViewF","NativeViewF","_NativeViewG","NativeViewG","_NativeViewH","NativeViewH","_NativeViewI","NativeViewI","_NativeViewJ","NativeViewJ","_getRequireWildcardCache","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","foo","bar"],"sources":["../../../../src/__fixtures__/project/code/$exports-input.ts"],"sourcesContent":["export * as a from \"a\";\nexport * as b from \"./b\";\nexport * as c from \"./c\";\nexport * as d from \"./d\";\nexport * as e from \"./e.story\";\nexport * as f from \"../f\";\nexport * as pac from \"..\";\nexport * as pak from \"../\";\nexport * as pax from \"../index\";\n\nexport { a as a1 } from \"./a\";\nexport * from \"./b\";\n\nexport type { A } from \"./a\";\n\nexport const foo = \"foo\";\n\nconst bar = \"bar\";\n\nexport { bar };\n\nexport * as NativeLibA from \"./MyNativeLib\";\nexport * as NativeLibB from \"../MyNativeLib\";\nexport * as NativeLibC from \"./MyNativeLib.ts\";\nexport * as NativeLibD from \"../MyNativeLib.ts\";\nexport * as NativeLibE from \"./MyNativeLib.tsx\";\nexport * as NativeLibF from \"../MyNativeLib.tsx\";\nexport * as NativeLibG from \"./MyNativeLib.js\";\nexport * as NativeLibH from \"../MyNativeLib.js\";\nexport * as NativeLibI from \"./MyNativeLib.jsx\";\nexport * as NativeLibJ from \"../MyNativeLib.jsx\";\n\nexport * as NativeViewA from \"./MyNativeComponent\";\nexport * as NativeViewB from \"../MyNativeComponent\";\nexport * as NativeViewC from \"./MyNativeComponent.ts\";\nexport * as NativeViewD from \"../MyNativeComponent.ts\";\nexport * as NativeViewE from \"./MyNativeComponent.tsx\";\nexport * as NativeViewF from \"../MyNativeComponent.tsx\";\nexport * as NativeViewG from \"./MyNativeComponent.js\";\nexport * as NativeViewH from \"../MyNativeComponent.js\";\nexport * as NativeViewI from \"./MyNativeComponent.jsx\";\nexport * as NativeViewJ from \"../MyNativeComponent.jsx\";\n"],"mappings":"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","ignoreList":[]}
@@ -15,9 +15,29 @@ var _exportNames = {
15
15
  pac: true,
16
16
  pak: true,
17
17
  pax: true,
18
- a1: true
18
+ a1: true,
19
+ NativeLibA: true,
20
+ NativeLibB: true,
21
+ NativeLibC: true,
22
+ NativeLibD: true,
23
+ NativeLibE: true,
24
+ NativeLibF: true,
25
+ NativeLibG: true,
26
+ NativeLibH: true,
27
+ NativeLibI: true,
28
+ NativeLibJ: true,
29
+ NativeViewA: true,
30
+ NativeViewB: true,
31
+ NativeViewC: true,
32
+ NativeViewD: true,
33
+ NativeViewE: true,
34
+ NativeViewF: true,
35
+ NativeViewG: true,
36
+ NativeViewH: true,
37
+ NativeViewI: true,
38
+ NativeViewJ: true
19
39
  };
20
- exports.a = void 0;
40
+ exports.a = exports.NativeViewJ = exports.NativeViewI = exports.NativeViewH = exports.NativeViewG = exports.NativeViewF = exports.NativeViewE = exports.NativeViewD = exports.NativeViewC = exports.NativeViewB = exports.NativeViewA = exports.NativeLibJ = exports.NativeLibI = exports.NativeLibH = exports.NativeLibG = exports.NativeLibF = exports.NativeLibE = exports.NativeLibD = exports.NativeLibC = exports.NativeLibB = exports.NativeLibA = void 0;
21
41
  Object.defineProperty(exports, "a1", {
22
42
  enumerable: true,
23
43
  get: function () {
@@ -55,6 +75,46 @@ exports.pac = _pac;
55
75
  exports.pak = _pac;
56
76
  exports.pax = _pac;
57
77
  var _a3 = require("./a.mjs");
78
+ var _NativeLibA = _interopRequireWildcard(require("./MyNativeLib"));
79
+ exports.NativeLibA = _NativeLibA;
80
+ var _NativeLibB = _interopRequireWildcard(require("../MyNativeLib"));
81
+ exports.NativeLibB = _NativeLibB;
82
+ var _NativeLibC = _interopRequireWildcard(require("./MyNativeLib.ts"));
83
+ exports.NativeLibC = _NativeLibC;
84
+ var _NativeLibD = _interopRequireWildcard(require("../MyNativeLib.ts"));
85
+ exports.NativeLibD = _NativeLibD;
86
+ var _NativeLibE = _interopRequireWildcard(require("./MyNativeLib.tsx"));
87
+ exports.NativeLibE = _NativeLibE;
88
+ var _NativeLibF = _interopRequireWildcard(require("../MyNativeLib.tsx"));
89
+ exports.NativeLibF = _NativeLibF;
90
+ var _NativeLibG = _interopRequireWildcard(require("./MyNativeLib.js"));
91
+ exports.NativeLibG = _NativeLibG;
92
+ var _NativeLibH = _interopRequireWildcard(require("../MyNativeLib.js"));
93
+ exports.NativeLibH = _NativeLibH;
94
+ var _NativeLibI = _interopRequireWildcard(require("./MyNativeLib.jsx"));
95
+ exports.NativeLibI = _NativeLibI;
96
+ var _NativeLibJ = _interopRequireWildcard(require("../MyNativeLib.jsx"));
97
+ exports.NativeLibJ = _NativeLibJ;
98
+ var _NativeViewA = _interopRequireWildcard(require("./MyNativeComponent"));
99
+ exports.NativeViewA = _NativeViewA;
100
+ var _NativeViewB = _interopRequireWildcard(require("../MyNativeComponent"));
101
+ exports.NativeViewB = _NativeViewB;
102
+ var _NativeViewC = _interopRequireWildcard(require("./MyNativeComponent.ts"));
103
+ exports.NativeViewC = _NativeViewC;
104
+ var _NativeViewD = _interopRequireWildcard(require("../MyNativeComponent.ts"));
105
+ exports.NativeViewD = _NativeViewD;
106
+ var _NativeViewE = _interopRequireWildcard(require("./MyNativeComponent.tsx"));
107
+ exports.NativeViewE = _NativeViewE;
108
+ var _NativeViewF = _interopRequireWildcard(require("../MyNativeComponent.tsx"));
109
+ exports.NativeViewF = _NativeViewF;
110
+ var _NativeViewG = _interopRequireWildcard(require("./MyNativeComponent.js"));
111
+ exports.NativeViewG = _NativeViewG;
112
+ var _NativeViewH = _interopRequireWildcard(require("../MyNativeComponent.js"));
113
+ exports.NativeViewH = _NativeViewH;
114
+ var _NativeViewI = _interopRequireWildcard(require("./MyNativeComponent.jsx"));
115
+ exports.NativeViewI = _NativeViewI;
116
+ var _NativeViewJ = _interopRequireWildcard(require("../MyNativeComponent.jsx"));
117
+ exports.NativeViewJ = _NativeViewJ;
58
118
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
59
119
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
60
120
  const foo = exports.foo = "foo";
@@ -1 +1 @@
1
- {"version":3,"file":"$exports-output.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","_pak","_pax","pac","pak","pax","_a3","_getRequireWildcardCache","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","foo","bar"],"sources":["../../../../src/__fixtures__/project/code/$exports-output.ts"],"sourcesContent":["export * as a from \"a\";\nexport * as b from \"./b.mjs\";\nexport * as c from \"./c.mjs\";\nexport * as d from \"./d\";\nexport * as e from \"./e.story.mjs\";\nexport * as f from \"../f.mjs\";\nexport * as pac from \"../index.mjs\";\nexport * as pak from \"../index.mjs\";\nexport * as pax from \"../index.mjs\";\nexport { a as a1 } from \"./a.mjs\";\nexport * from \"./b.mjs\";\nexport type { A } from \"./a\";\nexport const foo = \"foo\";\nconst bar = \"bar\";\nexport { bar };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwBC,OAAA,CAAAC,CAAA,GAAAJ,EAAA;AAAxBK,MAAA,CAAAC,IAAA,CAAAN,EAAA,EAAAO,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAL,OAAA,IAAAA,OAAA,CAAAK,GAAA,MAAAR,EAAA,CAAAQ,GAAA;EAAAH,MAAA,CAAAQ,cAAA,CAAAV,OAAA,EAAAK,GAAA;IAAAM,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAf,EAAA,CAAAQ,GAAA;IAAA;EAAA;AAAA;AAAwB,IAAAQ,EAAA,GAAAf,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAAc,CAAA,GAAAD,EAAA;AAAA,IAAAE,EAAA,GAAAjB,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAAgB,CAAA,GAAAD,EAAA;AAAA,IAAAE,EAAA,GAAAnB,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAAkB,CAAA,GAAAD,EAAA;AAAA,IAAAE,EAAA,GAAArB,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAAoB,CAAA,GAAAD,EAAA;AAAA,IAAAE,IAAA,GAAAvB,uBAAA,CAAAC,OAAA;AAAA,IAAAuB,IAAA,GAAAD,IAAA;AAAA,IAAAE,IAAA,GAAAF,IAAA;AAAArB,OAAA,CAAAwB,GAAA,GAAAH,IAAA;AAAArB,OAAA,CAAAyB,GAAA,GAAAJ,IAAA;AAAArB,OAAA,CAAA0B,GAAA,GAAAL,IAAA;AADxB,IAAAM,GAAA,GAAA5B,OAAA;AAAkC,SAAA6B,yBAAAV,CAAA,6BAAAW,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAV,CAAA,WAAAA,CAAA,GAAAa,CAAA,GAAAD,CAAA,KAAAZ,CAAA;AAAA,SAAApB,wBAAAoB,CAAA,EAAAY,CAAA,SAAAA,CAAA,IAAAZ,CAAA,IAAAA,CAAA,CAAAc,UAAA,SAAAd,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAe,OAAA,EAAAf,CAAA,QAAAa,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAhB,CAAA,UAAAa,CAAA,CAAAnB,GAAA,CAAAM,CAAA,OAAAiB,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAnC,MAAA,CAAAQ,cAAA,IAAAR,MAAA,CAAAoC,wBAAA,WAAAC,CAAA,IAAArB,CAAA,oBAAAqB,CAAA,OAAAhC,cAAA,CAAAC,IAAA,CAAAU,CAAA,EAAAqB,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAnC,MAAA,CAAAoC,wBAAA,CAAApB,CAAA,EAAAqB,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAA5B,GAAA,IAAA4B,CAAA,CAAAC,GAAA,IAAAvC,MAAA,CAAAQ,cAAA,CAAAyB,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAArB,CAAA,CAAAqB,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAf,CAAA,EAAAa,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAvB,CAAA,EAAAiB,CAAA,GAAAA,CAAA;AAG3B,MAAMO,GAAG,GAAA1C,OAAA,CAAA0C,GAAA,GAAG,KAAK;AACxB,MAAMC,GAAG,GAAA3C,OAAA,CAAA2C,GAAA,GAAG,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"$exports-output.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","_pak","_pax","pac","pak","pax","_a3","_NativeLibA","NativeLibA","_NativeLibB","NativeLibB","_NativeLibC","NativeLibC","_NativeLibD","NativeLibD","_NativeLibE","NativeLibE","_NativeLibF","NativeLibF","_NativeLibG","NativeLibG","_NativeLibH","NativeLibH","_NativeLibI","NativeLibI","_NativeLibJ","NativeLibJ","_NativeViewA","NativeViewA","_NativeViewB","NativeViewB","_NativeViewC","NativeViewC","_NativeViewD","NativeViewD","_NativeViewE","NativeViewE","_NativeViewF","NativeViewF","_NativeViewG","NativeViewG","_NativeViewH","NativeViewH","_NativeViewI","NativeViewI","_NativeViewJ","NativeViewJ","_getRequireWildcardCache","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","foo","bar"],"sources":["../../../../src/__fixtures__/project/code/$exports-output.ts"],"sourcesContent":["export * as a from \"a\";\nexport * as b from \"./b.mjs\";\nexport * as c from \"./c.mjs\";\nexport * as d from \"./d\";\nexport * as e from \"./e.story.mjs\";\nexport * as f from \"../f.mjs\";\nexport * as pac from \"../index.mjs\";\nexport * as pak from \"../index.mjs\";\nexport * as pax from \"../index.mjs\";\nexport { a as a1 } from \"./a.mjs\";\nexport * from \"./b.mjs\";\nexport type { A } from \"./a\";\nexport const foo = \"foo\";\nconst bar = \"bar\";\nexport { bar };\nexport * as NativeLibA from \"./MyNativeLib\";\nexport * as NativeLibB from \"../MyNativeLib\";\nexport * as NativeLibC from \"./MyNativeLib.ts\";\nexport * as NativeLibD from \"../MyNativeLib.ts\";\nexport * as NativeLibE from \"./MyNativeLib.tsx\";\nexport * as NativeLibF from \"../MyNativeLib.tsx\";\nexport * as NativeLibG from \"./MyNativeLib.js\";\nexport * as NativeLibH from \"../MyNativeLib.js\";\nexport * as NativeLibI from \"./MyNativeLib.jsx\";\nexport * as NativeLibJ from \"../MyNativeLib.jsx\";\nexport * as NativeViewA from \"./MyNativeComponent\";\nexport * as NativeViewB from \"../MyNativeComponent\";\nexport * as NativeViewC from \"./MyNativeComponent.ts\";\nexport * as NativeViewD from \"../MyNativeComponent.ts\";\nexport * as NativeViewE from \"./MyNativeComponent.tsx\";\nexport * as NativeViewF from \"../MyNativeComponent.tsx\";\nexport * as NativeViewG from \"./MyNativeComponent.js\";\nexport * as NativeViewH from \"../MyNativeComponent.js\";\nexport * as NativeViewI from \"./MyNativeComponent.jsx\";\nexport * as NativeViewJ from \"../MyNativeComponent.jsx\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  require("./a");
4
+ require("./MyNativeLib");
5
+ require("../MyNativeLib");
6
+ require("./MyNativeLib.ts");
7
+ require("../MyNativeLib.ts");
8
+ require("./MyNativeLib.tsx");
9
+ require("../MyNativeLib.tsx");
10
+ require("./MyNativeLib.js");
11
+ require("../MyNativeLib.js");
12
+ require("./MyNativeLib.jsx");
13
+ require("../MyNativeLib.jsx");
14
+ require("./MyNativeComponent");
15
+ require("../MyNativeComponent");
16
+ require("./MyNativeComponent.ts");
17
+ require("../MyNativeComponent.ts");
18
+ require("./MyNativeComponent.tsx");
19
+ require("../MyNativeComponent.tsx");
20
+ require("./MyNativeComponent.js");
21
+ require("../MyNativeComponent.js");
22
+ require("./MyNativeComponent.jsx");
23
+ require("../MyNativeComponent.jsx");
4
24
  //# sourceMappingURL=$imports-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"$imports-input.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-input.ts"],"sourcesContent":["import \"./a\";\nimport a from \"a\";\nimport b from \"./b\";\nimport c from \"./c\";\nimport d from \"./d\";\nimport e from \"./e.story\";\nimport f from \"../f\";\nimport pac from \"..\";\nimport pak from \"../\";\nimport pax from \"../index\";\n\nimport { a as a1 } from \"./a\";\nimport * as b1 from \"./b\";\nimport something, { c as c1 } from \"./c\";\n\nimport type { A } from \"./a\";\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"$imports-input.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-input.ts"],"sourcesContent":["import \"./a\";\nimport a from \"a\";\nimport b from \"./b\";\nimport c from \"./c\";\nimport d from \"./d\";\nimport e from \"./e.story\";\nimport f from \"../f\";\nimport pac from \"..\";\nimport pak from \"../\";\nimport pax from \"../index\";\n\nimport { a as a1 } from \"./a\";\nimport * as b1 from \"./b\";\nimport something, { c as c1 } from \"./c\";\n\nimport type { A } from \"./a\";\n\nimport \"./MyNativeLib\";\nimport \"../MyNativeLib\";\nimport \"./MyNativeLib.ts\";\nimport \"../MyNativeLib.ts\";\nimport \"./MyNativeLib.tsx\";\nimport \"../MyNativeLib.tsx\";\nimport \"./MyNativeLib.js\";\nimport \"../MyNativeLib.js\";\nimport \"./MyNativeLib.jsx\";\nimport \"../MyNativeLib.jsx\";\n\nimport \"./MyNativeComponent\";\nimport \"../MyNativeComponent\";\nimport \"./MyNativeComponent.ts\";\nimport \"../MyNativeComponent.ts\";\nimport \"./MyNativeComponent.tsx\";\nimport \"../MyNativeComponent.tsx\";\nimport \"./MyNativeComponent.js\";\nimport \"../MyNativeComponent.js\";\nimport \"./MyNativeComponent.jsx\";\nimport \"../MyNativeComponent.jsx\";\n"],"mappings":";;AAAAA,OAAA;AAiBAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA","ignoreList":[]}
@@ -1,4 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  require("./a.mjs");
4
+ require("./MyNativeLib");
5
+ require("../MyNativeLib");
6
+ require("./MyNativeLib.ts");
7
+ require("../MyNativeLib.ts");
8
+ require("./MyNativeLib.tsx");
9
+ require("../MyNativeLib.tsx");
10
+ require("./MyNativeLib.js");
11
+ require("../MyNativeLib.js");
12
+ require("./MyNativeLib.jsx");
13
+ require("../MyNativeLib.jsx");
14
+ require("./MyNativeComponent");
15
+ require("../MyNativeComponent");
16
+ require("./MyNativeComponent.ts");
17
+ require("../MyNativeComponent.ts");
18
+ require("./MyNativeComponent.tsx");
19
+ require("../MyNativeComponent.tsx");
20
+ require("./MyNativeComponent.js");
21
+ require("../MyNativeComponent.js");
22
+ require("./MyNativeComponent.jsx");
23
+ require("../MyNativeComponent.jsx");
4
24
  //# sourceMappingURL=$imports-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"$imports-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-output.ts"],"sourcesContent":["import \"./a.mjs\";\nimport a from \"a\";\nimport b from \"./b.mjs\";\nimport c from \"./c.mjs\";\nimport d from \"./d\";\nimport e from \"./e.story.mjs\";\nimport f from \"../f.mjs\";\nimport pac from \"../index.mjs\";\nimport pak from \"../index.mjs\";\nimport pax from \"../index.mjs\";\nimport { a as a1 } from \"./a.mjs\";\nimport * as b1 from \"./b.mjs\";\nimport something, { c as c1 } from \"./c.mjs\";\nimport type { A } from \"./a\";\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"$imports-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-output.ts"],"sourcesContent":["import \"./a.mjs\";\nimport a from \"a\";\nimport b from \"./b.mjs\";\nimport c from \"./c.mjs\";\nimport d from \"./d\";\nimport e from \"./e.story.mjs\";\nimport f from \"../f.mjs\";\nimport pac from \"../index.mjs\";\nimport pak from \"../index.mjs\";\nimport pax from \"../index.mjs\";\nimport { a as a1 } from \"./a.mjs\";\nimport * as b1 from \"./b.mjs\";\nimport something, { c as c1 } from \"./c.mjs\";\nimport type { A } from \"./a\";\nimport \"./MyNativeLib\";\nimport \"../MyNativeLib\";\nimport \"./MyNativeLib.ts\";\nimport \"../MyNativeLib.ts\";\nimport \"./MyNativeLib.tsx\";\nimport \"../MyNativeLib.tsx\";\nimport \"./MyNativeLib.js\";\nimport \"../MyNativeLib.js\";\nimport \"./MyNativeLib.jsx\";\nimport \"../MyNativeLib.jsx\";\nimport \"./MyNativeComponent\";\nimport \"../MyNativeComponent\";\nimport \"./MyNativeComponent.ts\";\nimport \"../MyNativeComponent.ts\";\nimport \"./MyNativeComponent.tsx\";\nimport \"../MyNativeComponent.tsx\";\nimport \"./MyNativeComponent.js\";\nimport \"../MyNativeComponent.js\";\nimport \"./MyNativeComponent.jsx\";\nimport \"../MyNativeComponent.jsx\";\n"],"mappings":";;AAAAA,OAAA;AAcAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA","ignoreList":[]}
package/lib/babel.js CHANGED
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = _default;
7
7
  var _fs = _interopRequireDefault(require("fs"));
8
8
  var _path = _interopRequireDefault(require("path"));
9
+ var _isCodegenSpec = require("./utils/isCodegenSpec");
9
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const extensions = ['ts', 'tsx', 'js', 'jsx'];
10
12
  const isFile = filename => {
11
13
  const exists = _fs.default.lstatSync(filename, {
12
14
  throwIfNoEntry: false
@@ -19,8 +21,8 @@ const isDirectory = filename => {
19
21
  })?.isDirectory() ?? false;
20
22
  return exists;
21
23
  };
22
- const isModule = (filename, extension, platforms) => {
23
- const exts = ['js', 'ts', 'jsx', 'tsx', extension];
24
+ const isModuleWithoutPlatform = (filename, extension, platforms) => {
25
+ const exts = [...extensions, extension];
24
26
  return exts.some(ext => isFile(`${filename}.${ext}`) && platforms.every(platform => !isFile(`${filename}.${platform}.${ext}`)));
25
27
  };
26
28
  const isTypeImport = node => 'importKind' in node && node.importKind === 'type' || 'exportKind' in node && node.exportKind === 'type';
@@ -34,6 +36,7 @@ function _default(api, {
34
36
  platforms = ['native', 'android', 'ios', 'windows', 'macos', 'visionos', 'web', 'tv', 'android.tv', 'ios.tv']
35
37
  }) {
36
38
  api.assertVersion(7);
39
+ const codegenEnabled = api.caller(caller => caller?.codegenEnabled);
37
40
  function addExtension({
38
41
  node
39
42
  }, state) {
@@ -45,10 +48,13 @@ function _default(api, {
45
48
  return;
46
49
  }
47
50
  assertFilename(state.filename);
48
-
49
- // Skip folder imports
50
51
  const filename = _path.default.resolve(_path.default.dirname(state.filename), node.source.value);
51
52
 
53
+ // Skip imports for codegen spec if codegen is enabled
54
+ if (codegenEnabled && ((0, _isCodegenSpec.isCodegenSpec)(filename) || extensions.some(ext => (0, _isCodegenSpec.isCodegenSpec)(`${filename}.${ext}`)))) {
55
+ return;
56
+ }
57
+
52
58
  // Replace .ts extension with .js if file with extension is explicitly imported
53
59
  if (isFile(filename)) {
54
60
  node.source.value = node.source.value.replace(/\.tsx?$/, `.${extension}`);
@@ -56,13 +62,14 @@ function _default(api, {
56
62
  }
57
63
 
58
64
  // Add extension if .ts file or file with extension exists
59
- if (isModule(filename, extension, platforms)) {
65
+ // And no platform specific file exists
66
+ if (isModuleWithoutPlatform(filename, extension, platforms)) {
60
67
  node.source.value += `.${extension}`;
61
68
  return;
62
69
  }
63
70
 
64
71
  // Expand folder imports to index and add extension
65
- if (isDirectory(filename) && isModule(_path.default.join(filename, 'index'), extension, platforms)) {
72
+ if (isDirectory(filename) && isModuleWithoutPlatform(_path.default.join(filename, 'index'), extension, platforms)) {
66
73
  node.source.value = node.source.value.replace(/\/?$/, `/index.${extension}`);
67
74
  return;
68
75
  }
package/lib/babel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","e","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isModule","extension","platforms","exts","some","ext","every","platform","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","assertVersion","addExtension","state","source","value","startsWith","path","resolve","dirname","replace","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\n\ntype Options = {\n /**\n * Extension to add to the imports\n * For commonjs use 'cjs' and for esm use 'mjs'\n * NodeJS requires explicit extension for esm\n * The `cjs` extension avoids disambiguity when package.json has \"type\": \"module\"\n */\n extension?: 'js' | 'cjs' | 'mjs';\n /**\n * Out of tree platforms to support\n * For `import './file'`, we skip adding extension if `file.${platform}.ts` exists\n * This is necessary for the platform specific extensions to be resolve correctly\n * Bundlers won't resolve the platform specific extension if explicit extension is present\n */\n platforms?: string[];\n};\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isModule = (\n filename: string,\n extension: string,\n platforms: string[]\n): boolean => {\n const exts = ['js', 'ts', 'jsx', 'tsx', extension];\n\n return exts.some(\n (ext) =>\n isFile(`${filename}.${ext}`) &&\n platforms.every((platform) => !isFile(`${filename}.${platform}.${ext}`))\n );\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n {\n extension,\n platforms = [\n 'native',\n 'android',\n 'ios',\n 'windows',\n 'macos',\n 'visionos',\n 'web',\n 'tv',\n 'android.tv',\n 'ios.tv',\n ],\n }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n // Skip folder imports\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n // Replace .ts extension with .js if file with extension is explicitly imported\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n // Add extension if .ts file or file with extension exists\n if (isModule(filename, extension, platforms)) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Expand folder imports to index and add extension\n if (\n isDirectory(filename) &&\n isModule(path.join(filename, 'index'), extension, platforms)\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: 'react-native-builder-bob',\n visitor: {\n ImportDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","_isCodegenSpec","e","__esModule","default","extensions","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isModuleWithoutPlatform","extension","platforms","exts","some","ext","every","platform","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","assertVersion","codegenEnabled","caller","addExtension","state","source","value","startsWith","path","resolve","dirname","isCodegenSpec","replace","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\nimport { isCodegenSpec } from './utils/isCodegenSpec';\n\ntype Options = {\n /**\n * Extension to add to the imports\n * For commonjs use 'cjs' and for esm use 'mjs'\n * NodeJS requires explicit extension for esm\n * The `cjs` extension avoids disambiguity when package.json has \"type\": \"module\"\n */\n extension?: 'js' | 'cjs' | 'mjs';\n /**\n * Out of tree platforms to support\n * For `import './file'`, we skip adding extension if `file.${platform}.ts` exists\n * This is necessary for the platform specific extensions to be resolve correctly\n * Bundlers won't resolve the platform specific extension if explicit extension is present\n */\n platforms?: string[];\n};\n\nconst extensions = ['ts', 'tsx', 'js', 'jsx'];\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isModuleWithoutPlatform = (\n filename: string,\n extension: string,\n platforms: string[]\n): boolean => {\n const exts = [...extensions, extension];\n\n return exts.some(\n (ext) =>\n isFile(`${filename}.${ext}`) &&\n platforms.every((platform) => !isFile(`${filename}.${platform}.${ext}`))\n );\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n {\n extension,\n platforms = [\n 'native',\n 'android',\n 'ios',\n 'windows',\n 'macos',\n 'visionos',\n 'web',\n 'tv',\n 'android.tv',\n 'ios.tv',\n ],\n }: Options\n): PluginObj {\n api.assertVersion(7);\n\n const codegenEnabled = api.caller((caller) => caller?.codegenEnabled);\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n // Skip imports for codegen spec if codegen is enabled\n if (\n codegenEnabled &&\n (isCodegenSpec(filename) ||\n extensions.some((ext) => isCodegenSpec(`${filename}.${ext}`)))\n ) {\n return;\n }\n\n // Replace .ts extension with .js if file with extension is explicitly imported\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n // Add extension if .ts file or file with extension exists\n // And no platform specific file exists\n if (isModuleWithoutPlatform(filename, extension, platforms)) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Expand folder imports to index and add extension\n if (\n isDirectory(filename) &&\n isModuleWithoutPlatform(\n path.join(filename, 'index'),\n extension,\n platforms\n )\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: 'react-native-builder-bob',\n visitor: {\n ImportDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -52,7 +52,8 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
52
52
  }
53
53
  }
54
54
  if (!(await _fsExtra.default.pathExists(projectPackagePath))) {
55
- logger.exit(`Couldn't find a 'package.json' file in '${root}'.\n Are you in a project folder?`);
55
+ logger.error(`Couldn't find a 'package.json' file in '${root}'.\n Are you in a project folder?`);
56
+ process.exit(1);
56
57
  }
57
58
  const pkg = JSON.parse(await _fsExtra.default.readFile(projectPackagePath, 'utf-8'));
58
59
  const result = await explorer.search();
@@ -87,8 +88,8 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
87
88
  entryFile = 'index.tsx';
88
89
  }
89
90
  if (!entryFile) {
90
- logger.exit(`Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\n Please re-run the CLI after creating it.`);
91
- return;
91
+ logger.error(`Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\n Please re-run the CLI after creating it.`);
92
+ process.exit(1);
92
93
  }
93
94
  pkg.devDependencies = Object.fromEntries([...Object.entries(pkg.devDependencies || {}), [name, `^${version}`]].sort(([a], [b]) => a.localeCompare(b)));
94
95
  const questions = [{
@@ -359,39 +360,37 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
359
360
  }
360
361
  const result = await explorer.search();
361
362
  if (!result?.config) {
362
- logger.exit(`No configuration found. Run '${argv.$0} init' to create one automatically.`);
363
+ logger.error(`No configuration found. Run '${argv.$0} init' to create one automatically.`);
364
+ process.exit(1);
363
365
  }
364
366
  const options = result.config;
365
367
  if (!options.targets?.length) {
366
- logger.exit(`No targets found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
368
+ logger.error(`No targets found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
369
+ process.exit(1);
367
370
  }
368
371
  const source = options.source;
369
372
  if (!source) {
370
- logger.exit(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
373
+ logger.error(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
374
+ process.exit(1);
371
375
  }
372
376
  const output = options.output;
373
377
  if (!output) {
374
- logger.exit(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
378
+ logger.error(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
379
+ process.exit(1);
375
380
  }
376
381
  const exclude = options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';
377
- const report = {
378
- info: logger.info,
379
- warn: logger.warn,
380
- error: logger.error,
381
- success: logger.success
382
- };
383
382
  if (argv.target != null) {
384
- buildTarget(argv.target, report, source, output, exclude);
383
+ buildTarget(argv.target, source, output, exclude);
385
384
  } else {
386
385
  for (const target of options.targets) {
387
- buildTarget(target, report, source, output, exclude);
386
+ buildTarget(target, source, output, exclude);
388
387
  }
389
388
  }
390
389
  }).demandCommand().recommendCommands().strict().argv;
391
- async function buildTarget(target, report, source, output, exclude) {
390
+ async function buildTarget(target, source, output, exclude) {
392
391
  const targetName = Array.isArray(target) ? target[0] : target;
393
392
  const targetOptions = Array.isArray(target) ? target[1] : undefined;
394
- report.info(`Building target ${_kleur.default.blue(targetName)}`);
393
+ const report = logger.grouped(targetName);
395
394
  switch (targetName) {
396
395
  case 'commonjs':
397
396
  await (0, _commonjs.default)({
@@ -439,7 +438,8 @@ async function buildTarget(target, report, source, output, exclude) {
439
438
  });
440
439
  break;
441
440
  default:
442
- logger.exit(`Invalid target ${_kleur.default.blue(targetName)}.`);
441
+ logger.error(`Invalid target ${_kleur.default.blue(targetName)}.`);
442
+ process.exit(1);
443
443
  }
444
444
  }
445
445
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_codegen","_custom","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","target","type","description","choices","name","version","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","projectPackagePath","path","resolve","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","message","initial","exit","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","join","fromEntries","entries","sort","b","localeCompare","questions","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","undefined","esm","main","module","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","key","entry","replace","exportsField","codegenConfig","includesGeneratedCode","exports","stringify","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","Error","$0","options","relative","filepath","exclude","report","info","warn","error","success","buildTarget","demandCommand","recommendCommands","targetName","Array","isArray","targetOptions","blue","buildCommonJS","buildModule","buildTypescript","buildCodegen","customTarget"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfig } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport buildCodegen from './targets/codegen';\nimport customTarget from './targets/custom';\nimport type { Options, Report, Target } from './types';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfig(name, {\n stopDir: root,\n searchPlaces: [\n 'package.json',\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n ],\n});\n\nconst projectPackagePath = path.resolve(root, 'package.json');\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = await explorer.search();\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n return;\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n\n if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n } else if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n } else {\n entries.main = entries.source;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n\n entries.types = types.require;\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'Bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key as keyof typeof entries];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {\n import: {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n },\n require: {\n ...(types.require ? { types: types.require } : null),\n ...(entries.main ? { default: entries.main } : null),\n },\n },\n };\n\n if (pkg.codegenConfig && !pkg.codegenConfig.includesGeneratedCode) {\n // @ts-expect-error The exports is not strictly types therefore it doesn't know about the package.json property\n exportsField['./package.json'] = './package.json';\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module' || t === 'typescript') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', args, async (argv) => {\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = await explorer.search();\n\n if (!result?.config) {\n logger.exit(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.exit(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n if (argv.target != null) {\n buildTarget(\n argv.target,\n report,\n source as string,\n output as string,\n exclude\n );\n } else {\n for (const target of options.targets!) {\n buildTarget(\n target,\n report,\n source as string,\n output as string,\n exclude\n );\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n\nasync function buildTarget(\n target: Exclude<Options['targets'], undefined>[number],\n report: Report,\n source: string,\n output: string,\n exclude: string\n) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n case 'codegen':\n await buildCodegen({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n report,\n });\n break;\n case 'custom':\n await customTarget({\n options: targetOptions,\n source: path.resolve(root, source),\n report,\n root,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_codegen","_custom","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","target","type","description","choices","name","version","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","projectPackagePath","path","resolve","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","message","initial","exit","fs","pathExists","error","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","join","fromEntries","entries","sort","b","localeCompare","questions","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","undefined","esm","main","module","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","key","entry","replace","exportsField","codegenConfig","includesGeneratedCode","exports","stringify","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","Error","$0","options","relative","filepath","exclude","buildTarget","demandCommand","recommendCommands","targetName","Array","isArray","targetOptions","report","grouped","buildCommonJS","buildModule","buildTypescript","buildCodegen","customTarget","blue"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfig } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport buildCodegen from './targets/codegen';\nimport customTarget from './targets/custom';\nimport type { Options, Target } from './types';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfig(name, {\n stopDir: root,\n searchPlaces: [\n 'package.json',\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n ],\n});\n\nconst projectPackagePath = path.resolve(root, 'package.json');\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n logger.error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n process.exit(1);\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = await explorer.search();\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n process.exit(1);\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n\n if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n } else if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n } else {\n entries.main = entries.source;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n\n entries.types = types.require;\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'Bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key as keyof typeof entries];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {\n import: {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n },\n require: {\n ...(types.require ? { types: types.require } : null),\n ...(entries.main ? { default: entries.main } : null),\n },\n },\n };\n\n if (pkg.codegenConfig && !pkg.codegenConfig.includesGeneratedCode) {\n // @ts-expect-error The exports is not strictly types therefore it doesn't know about the package.json property\n exportsField['./package.json'] = './package.json';\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module' || t === 'typescript') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', args, async (argv) => {\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = await explorer.search();\n\n if (!result?.config) {\n logger.error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n process.exit(1);\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.error(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n process.exit(1);\n }\n\n const source = options.source;\n\n if (!source) {\n logger.error(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n process.exit(1);\n }\n\n const output = options.output;\n\n if (!output) {\n logger.error(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n process.exit(1);\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n if (argv.target != null) {\n buildTarget(argv.target, source as string, output as string, exclude);\n } else {\n for (const target of options.targets!) {\n buildTarget(target, source as string, output as string, exclude);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n\nasync function buildTarget(\n target: Exclude<Options['targets'], undefined>[number],\n source: string,\n output: string,\n exclude: string\n) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n const report = logger.grouped(targetName);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n case 'codegen':\n await buildCodegen({\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n report,\n });\n break;\n case 'custom':\n await customTarget({\n options: targetOptions,\n source: path.resolve(root, source),\n report,\n root,\n });\n break;\n default:\n logger.error(`Invalid target ${kleur.blue(targetName)}.`);\n process.exit(1);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ const mockPackageJson = {
19
19
  const mockReport = {
20
20
  info: console.log,
21
21
  warn: console.log,
22
- error: console.log,
22
+ error: console.error,
23
23
  success: console.log
24
24
  };
25
25
  const mockJavaModuleSpec = `
@@ -1 +1 @@
1
- {"version":3,"file":"patchCodegenAndroidPackage.test.js","names":["_globals","require","_fsExtra","_interopRequireDefault","_nodePath","_patchCodegenAndroidPackage","_mockFs","e","__esModule","default","mockPackageJson","codegenConfig","outputDir","android","javaPackageName","mockReport","info","console","log","warn","error","success","mockJavaModuleSpec","mockJavaViewSpec","mockProjectPath","path","resolve","__dirname","mockCodegenModuleSpecsPath","mockCodegenViewSpecsPath","describe","beforeEach","mockfs","JSON","stringify","afterEach","restore","it","patchCodegenAndroidPackage","expectedDir","expect","fs","pathExists","toBe","expectedFile","fileContent","readFile","toContain","mockPackageJsonWithTypeAll","type","join","toBeTruthy"],"sources":["../../../../src/targets/codegen/patches/patchCodegenAndroidPackage.test.ts"],"sourcesContent":["import { expect, it, describe, beforeEach, afterEach } from '@jest/globals';\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { patchCodegenAndroidPackage } from './patchCodegenAndroidPackage';\nimport mockfs from 'mock-fs';\nimport type { Report } from '../../../types';\n\nconst mockPackageJson = {\n codegenConfig: {\n outputDir: {\n android: 'android/generated',\n },\n android: {\n javaPackageName: 'com.bobtest',\n },\n },\n};\n\nconst mockReport: Report = {\n info: console.log,\n warn: console.log,\n error: console.log,\n success: console.log,\n};\n\nconst mockJavaModuleSpec = `\n/**\n * Some comment\n */\n\npackage com.facebook.fbreact.specs;\n\nimport com.example.exampleimport;\n\nclass SomeClass {\n public void someMethod() {\n // some code\n }\n}`;\n\nconst mockJavaViewSpec = `\n/**\n * Some comment\n */\n\npackage com.facebook.react.viewmanagers;\n\npublic interface SomeInterface<T extends View> {\n void setColor(T view, @Nullable String value);\n}\n`;\n\nconst mockProjectPath = path.resolve(__dirname, 'mockProject');\nconst mockCodegenModuleSpecsPath = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/facebook/fbreact/specs'\n);\nconst mockCodegenViewSpecsPath = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/facebook/react/viewmanagers'\n);\n\ndescribe('patchCodegenAndroidPackage', () => {\n beforeEach(() => {\n mockfs({\n [mockProjectPath]: {\n 'package.json': JSON.stringify(mockPackageJson),\n },\n [mockCodegenModuleSpecsPath]: {\n 'NativeBobtestSpec.java': mockJavaModuleSpec,\n },\n });\n });\n\n afterEach(() => {\n mockfs.restore();\n });\n\n it('moves the files to correct dir', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n const expectedDir = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/bobtest'\n );\n\n expect(await fs.pathExists(expectedDir)).toBe(true);\n });\n\n it('replaces the package name in the files', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n const expectedDir = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/bobtest'\n );\n\n const expectedFile = path.resolve(expectedDir, 'NativeBobtestSpec.java');\n\n const fileContent = await fs.readFile(expectedFile, 'utf8');\n\n expect(fileContent).toContain('package com.bobtest;');\n });\n\n it('removes the old package dir', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n expect(await fs.pathExists(mockCodegenModuleSpecsPath)).toBe(false);\n });\n\n it(\"doesn't delete the view manager specs\", async () => {\n const mockPackageJsonWithTypeAll = {\n ...mockPackageJson,\n codegenConfig: {\n ...mockPackageJson.codegenConfig,\n type: 'all',\n },\n };\n\n mockfs({\n [mockProjectPath]: {\n 'package.json': JSON.stringify(mockPackageJsonWithTypeAll),\n },\n [mockCodegenModuleSpecsPath]: {\n 'NativeBobtestSpec.java': mockJavaModuleSpec,\n },\n [mockCodegenViewSpecsPath]: {\n 'BobtestViewManagerInterface.java': mockJavaViewSpec,\n },\n });\n\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJsonWithTypeAll,\n mockReport\n );\n\n expect(\n await fs.pathExists(\n path.join(mockCodegenViewSpecsPath, 'BobtestViewManagerInterface.java')\n )\n ).toBeTruthy();\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"patchCodegenAndroidPackage.test.js","names":["_globals","require","_fsExtra","_interopRequireDefault","_nodePath","_patchCodegenAndroidPackage","_mockFs","e","__esModule","default","mockPackageJson","codegenConfig","outputDir","android","javaPackageName","mockReport","info","console","log","warn","error","success","mockJavaModuleSpec","mockJavaViewSpec","mockProjectPath","path","resolve","__dirname","mockCodegenModuleSpecsPath","mockCodegenViewSpecsPath","describe","beforeEach","mockfs","JSON","stringify","afterEach","restore","it","patchCodegenAndroidPackage","expectedDir","expect","fs","pathExists","toBe","expectedFile","fileContent","readFile","toContain","mockPackageJsonWithTypeAll","type","join","toBeTruthy"],"sources":["../../../../src/targets/codegen/patches/patchCodegenAndroidPackage.test.ts"],"sourcesContent":["import { expect, it, describe, beforeEach, afterEach } from '@jest/globals';\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { patchCodegenAndroidPackage } from './patchCodegenAndroidPackage';\nimport mockfs from 'mock-fs';\nimport type { Report } from '../../../types';\n\nconst mockPackageJson = {\n codegenConfig: {\n outputDir: {\n android: 'android/generated',\n },\n android: {\n javaPackageName: 'com.bobtest',\n },\n },\n};\n\nconst mockReport: Report = {\n info: console.log,\n warn: console.log,\n error: console.error,\n success: console.log,\n};\n\nconst mockJavaModuleSpec = `\n/**\n * Some comment\n */\n\npackage com.facebook.fbreact.specs;\n\nimport com.example.exampleimport;\n\nclass SomeClass {\n public void someMethod() {\n // some code\n }\n}`;\n\nconst mockJavaViewSpec = `\n/**\n * Some comment\n */\n\npackage com.facebook.react.viewmanagers;\n\npublic interface SomeInterface<T extends View> {\n void setColor(T view, @Nullable String value);\n}\n`;\n\nconst mockProjectPath = path.resolve(__dirname, 'mockProject');\nconst mockCodegenModuleSpecsPath = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/facebook/fbreact/specs'\n);\nconst mockCodegenViewSpecsPath = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/facebook/react/viewmanagers'\n);\n\ndescribe('patchCodegenAndroidPackage', () => {\n beforeEach(() => {\n mockfs({\n [mockProjectPath]: {\n 'package.json': JSON.stringify(mockPackageJson),\n },\n [mockCodegenModuleSpecsPath]: {\n 'NativeBobtestSpec.java': mockJavaModuleSpec,\n },\n });\n });\n\n afterEach(() => {\n mockfs.restore();\n });\n\n it('moves the files to correct dir', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n const expectedDir = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/bobtest'\n );\n\n expect(await fs.pathExists(expectedDir)).toBe(true);\n });\n\n it('replaces the package name in the files', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n const expectedDir = path.resolve(\n mockProjectPath,\n 'android/generated/java/com/bobtest'\n );\n\n const expectedFile = path.resolve(expectedDir, 'NativeBobtestSpec.java');\n\n const fileContent = await fs.readFile(expectedFile, 'utf8');\n\n expect(fileContent).toContain('package com.bobtest;');\n });\n\n it('removes the old package dir', async () => {\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJson,\n mockReport\n );\n\n expect(await fs.pathExists(mockCodegenModuleSpecsPath)).toBe(false);\n });\n\n it(\"doesn't delete the view manager specs\", async () => {\n const mockPackageJsonWithTypeAll = {\n ...mockPackageJson,\n codegenConfig: {\n ...mockPackageJson.codegenConfig,\n type: 'all',\n },\n };\n\n mockfs({\n [mockProjectPath]: {\n 'package.json': JSON.stringify(mockPackageJsonWithTypeAll),\n },\n [mockCodegenModuleSpecsPath]: {\n 'NativeBobtestSpec.java': mockJavaModuleSpec,\n },\n [mockCodegenViewSpecsPath]: {\n 'BobtestViewManagerInterface.java': mockJavaViewSpec,\n },\n });\n\n await patchCodegenAndroidPackage(\n mockProjectPath,\n mockPackageJsonWithTypeAll,\n mockReport\n );\n\n expect(\n await fs.pathExists(\n path.join(mockCodegenViewSpecsPath, 'BobtestViewManagerInterface.java')\n )\n ).toBeTruthy();\n });\n});\n"],"mappings":"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","ignoreList":[]}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n }\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n codegenEnabled: boolean;\n }\n}\n"],"mappings":"","ignoreList":[]}
@@ -9,6 +9,7 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
  var _kleur = _interopRequireDefault(require("kleur"));
10
10
  var babel = _interopRequireWildcard(require("@babel/core"));
11
11
  var _glob = _interopRequireDefault(require("glob"));
12
+ var _isCodegenSpec = require("./isCodegenSpec");
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -41,11 +42,14 @@ async function compile({
41
42
  }
42
43
  }
43
44
  await _fsExtra.default.mkdirp(output);
44
- if (!esm) {
45
- // Ideally we should code with ESM syntax as CommonJS if `esm` is not enabled
46
- // This maintain compatibility with code written for CommonJS
47
- // However currently NextJS has non-standard behavior and breaks this
48
- // So for now we only set this conditionally
45
+
46
+ // Imports are not rewritten to include the extension if `esm` is not enabled
47
+ // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled
48
+ // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions
49
+ // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export
50
+ // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`
51
+ // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target
52
+ if (esm || modules === 'commonjs') {
49
53
  await _fsExtra.default.writeJSON(_path.default.join(output, 'package.json'), {
50
54
  type: modules === 'commonjs' ? 'commonjs' : 'module'
51
55
  });
@@ -59,6 +63,13 @@ async function compile({
59
63
  return;
60
64
  }
61
65
  const content = await _fsExtra.default.readFile(filepath, 'utf-8');
66
+
67
+ // If codegen is used in the app, then we need to preserve TypeScript source
68
+ // So we copy the file as is instead of transforming it
69
+ if ((0, _isCodegenSpec.isCodegenSpec)(filepath)) {
70
+ _fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
71
+ return;
72
+ }
62
73
  const result = await babel.transformAsync(content, {
63
74
  caller: {
64
75
  name: 'react-native-builder-bob',
@@ -66,7 +77,8 @@ async function compile({
66
77
  // If a file is explicitly marked as ESM, then preserve the syntax
67
78
  modules === 'preserve' ? true : false,
68
79
  rewriteImportExtensions: esm,
69
- jsxRuntime
80
+ jsxRuntime,
81
+ codegenEnabled: 'codegenConfig' in pkg
70
82
  },
71
83
  cwd: root,
72
84
  babelrc: babelrc,
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","value","main","module","push","exports","import","some","field","startsWith","error","generatedEntryPath"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n if (!esm) {\n // Ideally we should code with ESM syntax as CommonJS if `esm` is not enabled\n // This maintain compatibility with code written for CommonJS\n // However currently NextJS has non-standard behavior and breaks this\n // So for now we only set this conditionally\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","codegenEnabled","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","value","main","module","push","exports","import","some","field","startsWith","error","generatedEntryPath"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n if (isCodegenSpec(filepath)) {\n fs.copy(filepath, path.join(output, path.relative(source, filepath)));\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled: 'codegenConfig' in pkg,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isCodegenSpec = void 0;
7
+ const isCodegenSpec = filepath => {
8
+ return /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/i.test(filepath);
9
+ };
10
+ exports.isCodegenSpec = isCodegenSpec;
11
+ //# sourceMappingURL=isCodegenSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCodegenSpec.js","names":["isCodegenSpec","filepath","test","exports"],"sources":["../../src/utils/isCodegenSpec.ts"],"sourcesContent":["export const isCodegenSpec = (filepath: string) => {\n return /(?:^|[\\\\/])(?:Native\\w+|(\\w+)NativeComponent)\\.[jt]sx?$/i.test(\n filepath\n );\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAIC,QAAgB,IAAK;EACjD,OAAO,0DAA0D,CAACC,IAAI,CACpED,QACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -3,25 +3,33 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.warn = exports.success = exports.info = exports.exit = exports.error = void 0;
6
+ exports.warn = exports.success = exports.info = exports.grouped = exports.error = void 0;
7
7
  var _kleur = _interopRequireDefault(require("kleur"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const logger = (type, color) => (...messages) => {
10
- console.log(color(_kleur.default.bold(type)), ...messages.map(message => {
9
+ const logger = (type, color, group, stream = process.stdout) => (...messages) => {
10
+ if (group) {
11
+ messages.unshift(`${_kleur.default.gray('[')}${_kleur.default.blue(group)}${_kleur.default.gray(']')}`);
12
+ }
13
+ const message = `${color(_kleur.default.bold(type))} ${messages.map(message => {
11
14
  if (typeof message === 'string') {
12
15
  return message.split('\n').join(`\n `);
13
16
  } else {
14
17
  return message;
15
18
  }
16
- }));
19
+ }).join(' ')}`;
20
+ stream.write(message + '\n');
17
21
  };
18
22
  const info = exports.info = logger('ℹ', _kleur.default.blue);
19
23
  const warn = exports.warn = logger('⚠', _kleur.default.yellow);
20
- const error = exports.error = logger('✖', _kleur.default.red);
24
+ const error = exports.error = logger('✖', _kleur.default.red, undefined, process.stderr);
21
25
  const success = exports.success = logger('✔', _kleur.default.green);
22
- const exit = (...messages) => {
23
- error(...messages);
24
- process.exit(1);
26
+ const grouped = label => {
27
+ return {
28
+ info: logger('ℹ', _kleur.default.blue, label),
29
+ warn: logger('⚠', _kleur.default.yellow, label),
30
+ error: logger('✖', _kleur.default.red, label, process.stderr),
31
+ success: logger('✔', _kleur.default.green, label)
32
+ };
25
33
  };
26
- exports.exit = exit;
34
+ exports.grouped = grouped;
27
35
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["_kleur","_interopRequireDefault","require","e","__esModule","default","logger","type","color","messages","console","log","kleur","bold","map","message","split","join","info","exports","blue","warn","yellow","error","red","success","green","exit","process"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["import kleur from 'kleur';\n\nconst logger =\n (type: string, color: kleur.Color) =>\n (...messages: unknown[]) => {\n console.log(\n color(kleur.bold(type)),\n ...messages.map((message) => {\n if (typeof message === 'string') {\n return message.split('\\n').join(`\\n `);\n } else {\n return message;\n }\n })\n );\n };\n\nexport const info = logger('ℹ', kleur.blue);\nexport const warn = logger('⚠', kleur.yellow);\nexport const error = logger('✖', kleur.red);\nexport const success = logger('✔', kleur.green);\n\nexport const exit = (...messages: unknown[]) => {\n error(...messages);\n process.exit(1);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,MAAM,GACVA,CAACC,IAAY,EAAEC,KAAkB,KACjC,CAAC,GAAGC,QAAmB,KAAK;EAC1BC,OAAO,CAACC,GAAG,CACTH,KAAK,CAACI,cAAK,CAACC,IAAI,CAACN,IAAI,CAAC,CAAC,EACvB,GAAGE,QAAQ,CAACK,GAAG,CAAEC,OAAO,IAAK;IAC3B,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAC/B,OAAOA,OAAO,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;IACzC,CAAC,MAAM;MACL,OAAOF,OAAO;IAChB;EACF,CAAC,CACH,CAAC;AACH,CAAC;AAEI,MAAMG,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAGZ,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACQ,IAAI,CAAC;AACpC,MAAMC,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAAGf,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACU,MAAM,CAAC;AACtC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAGjB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACY,GAAG,CAAC;AACpC,MAAMC,OAAO,GAAAN,OAAA,CAAAM,OAAA,GAAGnB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACc,KAAK,CAAC;AAExC,MAAMC,IAAI,GAAGA,CAAC,GAAGlB,QAAmB,KAAK;EAC9Cc,KAAK,CAAC,GAAGd,QAAQ,CAAC;EAClBmB,OAAO,CAACD,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC;AAACR,OAAA,CAAAQ,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"file":"logger.js","names":["_kleur","_interopRequireDefault","require","e","__esModule","default","logger","type","color","group","stream","process","stdout","messages","unshift","kleur","gray","blue","message","bold","map","split","join","write","info","exports","warn","yellow","error","red","undefined","stderr","success","green","grouped","label"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["import kleur from 'kleur';\n\nconst logger =\n (\n type: string,\n color: kleur.Color,\n group?: string,\n stream: NodeJS.WriteStream = process.stdout\n ) =>\n (...messages: unknown[]) => {\n if (group) {\n messages.unshift(\n `${kleur.gray('[')}${kleur.blue(group)}${kleur.gray(']')}`\n );\n }\n\n const message = `${color(kleur.bold(type))} ${messages\n .map((message) => {\n if (typeof message === 'string') {\n return message.split('\\n').join(`\\n `);\n } else {\n return message;\n }\n })\n .join(' ')}`;\n\n stream.write(message + '\\n');\n };\n\nexport const info = logger('ℹ', kleur.blue);\nexport const warn = logger('⚠', kleur.yellow);\nexport const error = logger('✖', kleur.red, undefined, process.stderr);\nexport const success = logger('✔', kleur.green);\n\nexport const grouped = (label: string) => {\n return {\n info: logger('ℹ', kleur.blue, label),\n warn: logger('⚠', kleur.yellow, label),\n error: logger('✖', kleur.red, label, process.stderr),\n success: logger('✔', kleur.green, label),\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,MAAM,GACVA,CACEC,IAAY,EACZC,KAAkB,EAClBC,KAAc,EACdC,MAA0B,GAAGC,OAAO,CAACC,MAAM,KAE7C,CAAC,GAAGC,QAAmB,KAAK;EAC1B,IAAIJ,KAAK,EAAE;IACTI,QAAQ,CAACC,OAAO,CACd,GAAGC,cAAK,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGD,cAAK,CAACE,IAAI,CAACR,KAAK,CAAC,GAAGM,cAAK,CAACC,IAAI,CAAC,GAAG,CAAC,EAC1D,CAAC;EACH;EAEA,MAAME,OAAO,GAAG,GAAGV,KAAK,CAACO,cAAK,CAACI,IAAI,CAACZ,IAAI,CAAC,CAAC,IAAIM,QAAQ,CACnDO,GAAG,CAAEF,OAAO,IAAK;IAChB,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAC/B,OAAOA,OAAO,CAACG,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;IACzC,CAAC,MAAM;MACL,OAAOJ,OAAO;IAChB;EACF,CAAC,CAAC,CACDI,IAAI,CAAC,GAAG,CAAC,EAAE;EAEdZ,MAAM,CAACa,KAAK,CAACL,OAAO,GAAG,IAAI,CAAC;AAC9B,CAAC;AAEI,MAAMM,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAGlB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACE,IAAI,CAAC;AACpC,MAAMS,IAAI,GAAAD,OAAA,CAAAC,IAAA,GAAGpB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACY,MAAM,CAAC;AACtC,MAAMC,KAAK,GAAAH,OAAA,CAAAG,KAAA,GAAGtB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACc,GAAG,EAAEC,SAAS,EAAEnB,OAAO,CAACoB,MAAM,CAAC;AAC/D,MAAMC,OAAO,GAAAP,OAAA,CAAAO,OAAA,GAAG1B,MAAM,CAAC,GAAG,EAAES,cAAK,CAACkB,KAAK,CAAC;AAExC,MAAMC,OAAO,GAAIC,KAAa,IAAK;EACxC,OAAO;IACLX,IAAI,EAAElB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACE,IAAI,EAAEkB,KAAK,CAAC;IACpCT,IAAI,EAAEpB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACY,MAAM,EAAEQ,KAAK,CAAC;IACtCP,KAAK,EAAEtB,MAAM,CAAC,GAAG,EAAES,cAAK,CAACc,GAAG,EAAEM,KAAK,EAAExB,OAAO,CAACoB,MAAM,CAAC;IACpDC,OAAO,EAAE1B,MAAM,CAAC,GAAG,EAAES,cAAK,CAACkB,KAAK,EAAEE,KAAK;EACzC,CAAC;AACH,CAAC;AAACV,OAAA,CAAAS,OAAA,GAAAA,OAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.37.0",
3
+ "version": "0.38.1",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -87,5 +87,5 @@
87
87
  "jest": "^29.7.0",
88
88
  "mock-fs": "^5.2.0"
89
89
  },
90
- "gitHead": "ec2c874cd7ee78ecdadb97ea1f978121663ad41f"
90
+ "gitHead": "afa26ebfddedcaa0e794519313ab23167ebde415"
91
91
  }
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- require("@");
4
- require("@something");
5
- require("./@");
6
- require("file");
7
- require("something/somefile");
8
- //# sourceMappingURL=$alias-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$alias-input.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-input.ts"],"sourcesContent":["import \"@\";\nimport f from \"@/f\";\nimport \"@something\";\nimport \"./@\";\nimport \"file\";\nimport { something } from \"something\";\nimport \"something/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- require("..");
4
- require("@something");
5
- require("./@");
6
- require("../f");
7
- require("another/somefile");
8
- //# sourceMappingURL=$alias-output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$alias-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-output.ts"],"sourcesContent":["import \"..\";\nimport f from \"../f\";\nimport \"@something\";\nimport \"./@\";\nimport \"../f\";\nimport { something } from \"another\";\nimport \"another/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}