react-native-builder-bob 0.28.1 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/babel-config.js +6 -8
  2. package/babel-preset.js +5 -5
  3. package/lib/__fixtures__/project/code/$alias-input.js.map +1 -1
  4. package/lib/__fixtures__/project/code/$alias-output.js.map +1 -1
  5. package/lib/__fixtures__/project/code/$exports-input.js +4 -6
  6. package/lib/__fixtures__/project/code/$exports-input.js.map +1 -1
  7. package/lib/__fixtures__/project/code/$exports-output.js +4 -6
  8. package/lib/__fixtures__/project/code/$exports-output.js.map +1 -1
  9. package/lib/__fixtures__/project/code/$imports-input.js.map +1 -1
  10. package/lib/__fixtures__/project/code/$imports-output.js.map +1 -1
  11. package/lib/__fixtures__/project/code/a.js.map +1 -1
  12. package/lib/__fixtures__/project/code/b.js.map +1 -1
  13. package/lib/__fixtures__/project/code/e.story.js.map +1 -1
  14. package/lib/__fixtures__/project/f.js.map +1 -1
  15. package/lib/__fixtures__/project/index.js.map +1 -1
  16. package/lib/__tests__/index.test.js +1 -1
  17. package/lib/__tests__/index.test.js.map +1 -1
  18. package/lib/babel.js +1 -1
  19. package/lib/babel.js.map +1 -1
  20. package/lib/index.js +38 -25
  21. package/lib/index.js.map +1 -1
  22. package/lib/targets/commonjs.js +1 -1
  23. package/lib/targets/commonjs.js.map +1 -1
  24. package/lib/targets/module.js +1 -1
  25. package/lib/targets/module.js.map +1 -1
  26. package/lib/targets/typescript.js +69 -31
  27. package/lib/targets/typescript.js.map +1 -1
  28. package/lib/types.js.map +1 -1
  29. package/lib/utils/androidAssemble.js +1 -1
  30. package/lib/utils/androidAssemble.js.map +1 -1
  31. package/lib/utils/compile.js +16 -6
  32. package/lib/utils/compile.js.map +1 -1
  33. package/lib/utils/logger.js +5 -9
  34. package/lib/utils/logger.js.map +1 -1
  35. package/lib/utils/prompts.js +1 -1
  36. package/lib/utils/prompts.js.map +1 -1
  37. package/metro-config.js +6 -1
  38. package/package.json +8 -8
package/babel-config.js CHANGED
@@ -42,15 +42,9 @@ const getConfig = (defaultConfig, { root, pkg }) => {
42
42
  }
43
43
 
44
44
  return {
45
+ ...defaultConfig,
45
46
  overrides: [
46
- {
47
- ...defaultConfig,
48
- exclude: path.join(root, src),
49
- },
50
- {
51
- include: path.join(root, src),
52
- presets: [[require.resolve('./babel-preset'), { modules: 'commonjs' }]],
53
- },
47
+ ...(defaultConfig.overrides == null ? [] : defaultConfig.overrides),
54
48
  {
55
49
  exclude: /\/node_modules\//,
56
50
  plugins: [
@@ -65,6 +59,10 @@ const getConfig = (defaultConfig, { root, pkg }) => {
65
59
  ],
66
60
  ],
67
61
  },
62
+ {
63
+ include: path.join(root, src),
64
+ presets: [require.resolve('./babel-preset')],
65
+ },
68
66
  ],
69
67
  };
70
68
  };
package/babel-preset.js CHANGED
@@ -17,11 +17,11 @@ module.exports = function (api, options, cwd) {
17
17
  {
18
18
  targets: browserslist.findConfig(cwd) || {
19
19
  browsers: [
20
- '>1%',
21
- 'last 2 chrome versions',
22
- 'last 2 edge versions',
23
- 'last 2 firefox versions',
24
- 'last 2 safari versions',
20
+ '> 1%',
21
+ 'chrome 109',
22
+ 'edge 124',
23
+ 'firefox 127',
24
+ 'safari 17.4',
25
25
  'not dead',
26
26
  'not ie <= 11',
27
27
  'not op_mini all',
@@ -1 +1 @@
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"}
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 +1 @@
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"}
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":[]}
@@ -55,10 +55,8 @@ exports.pak = _pak;
55
55
  var _pax = _interopRequireWildcard(require("../index"));
56
56
  exports.pax = _pax;
57
57
  var _a3 = require("./a");
58
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
60
- const foo = "foo";
61
- exports.foo = foo;
62
- const bar = "bar";
63
- exports.bar = bar;
58
+ 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
+ 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
+ const foo = exports.foo = "foo";
61
+ const bar = exports.bar = "bar";
64
62
  //# sourceMappingURL=$exports-input.js.map
@@ -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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoBC,OAAA,CAAAC,CAAA,GAAAJ,EAAA;AAApBK,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;AAAoB,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;AAAAC,OAAA,CAAAsB,GAAA,GAAAD,IAAA;AAAA,IAAAE,IAAA,GAAAzB,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAAwB,GAAA,GAAAD,IAAA;AAAA,IAAAE,IAAA,GAAA3B,uBAAA,CAAAC,OAAA;AAAAC,OAAA,CAAA0B,GAAA,GAAAD,IAAA;AADpB,IAAAE,GAAA,GAAA5B,OAAA;AAA8B,SAAA6B,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAA/B,wBAAAmC,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAxB,GAAA,CAAAqB,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAArC,MAAA,CAAAQ,cAAA,IAAAR,MAAA,CAAAsC,wBAAA,WAAAnC,GAAA,IAAA4B,GAAA,QAAA5B,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAyB,GAAA,EAAA5B,GAAA,SAAAoC,IAAA,GAAAF,qBAAA,GAAArC,MAAA,CAAAsC,wBAAA,CAAAP,GAAA,EAAA5B,GAAA,cAAAoC,IAAA,KAAAA,IAAA,CAAA7B,GAAA,IAAA6B,IAAA,CAAAC,GAAA,KAAAxC,MAAA,CAAAQ,cAAA,CAAA4B,MAAA,EAAAjC,GAAA,EAAAoC,IAAA,YAAAH,MAAA,CAAAjC,GAAA,IAAA4B,GAAA,CAAA5B,GAAA,SAAAiC,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAKvB,MAAMK,GAAG,GAAG,KAAK;AAAC3C,OAAA,CAAA2C,GAAA,GAAAA,GAAA;AAEzB,MAAMC,GAAG,GAAG,KAAK;AAAC5C,OAAA,CAAA4C,GAAA,GAAAA,GAAA"}
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":[]}
@@ -55,10 +55,8 @@ exports.pac = _pac;
55
55
  exports.pak = _pac;
56
56
  exports.pax = _pac;
57
57
  var _a3 = require("./a.mjs");
58
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
60
- const foo = "foo";
61
- exports.foo = foo;
62
- const bar = "bar";
63
- exports.bar = bar;
58
+ 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
+ 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
+ const foo = exports.foo = "foo";
61
+ const bar = exports.bar = "bar";
64
62
  //# sourceMappingURL=$exports-output.js.map
@@ -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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","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":"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"}
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 +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"}
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 +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"}
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 +1 @@
1
- {"version":3,"file":"a.js","names":[],"sources":["../../../../src/__fixtures__/project/code/a.ts"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"a.js","names":[],"sources":["../../../../src/__fixtures__/project/code/a.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"b.js","names":[],"sources":["../../../../src/__fixtures__/project/code/b.ts"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"b.js","names":[],"sources":["../../../../src/__fixtures__/project/code/b.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"e.story.js","names":[],"sources":["../../../../src/__fixtures__/project/code/e.story.ts"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"e.story.js","names":[],"sources":["../../../../src/__fixtures__/project/code/e.story.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"f.js","names":[],"sources":["../../../src/__fixtures__/project/f.ts"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"f.js","names":[],"sources":["../../../src/__fixtures__/project/f.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/__fixtures__/project/index.ts"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/__fixtures__/project/index.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -4,7 +4,7 @@ var _globals = require("@jest/globals");
4
4
  var _core = require("@babel/core");
5
5
  var _nodeFs = _interopRequireDefault(require("node:fs"));
6
6
  var _nodePath = _interopRequireDefault(require("node:path"));
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
8
  _globals.it.each(['imports', 'exports'])(`adds extension to %s`, async name => {
9
9
  const filepath = _nodePath.default.resolve(__dirname, `../__fixtures__/project/code/$${name}-input.ts`);
10
10
  const result = await (0, _core.transformFileAsync)(filepath, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","names":["_globals","require","_core","_nodeFs","_interopRequireDefault","_nodePath","obj","__esModule","default","it","each","name","filepath","path","resolve","__dirname","result","transformFileAsync","configFile","babelrc","plugins","extension","expected","fs","promises","readFile","expect","code","toEqual","trim"],"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { expect, it } from '@jest/globals';\nimport { transformFileAsync } from '@babel/core';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nit.each(['imports', 'exports'])(`adds extension to %s`, async (name) => {\n const filepath = path.resolve(\n __dirname,\n `../__fixtures__/project/code/$${name}-input.ts`\n );\n\n const result = await transformFileAsync(filepath, {\n configFile: false,\n babelrc: false,\n plugins: [\n '@babel/plugin-syntax-typescript',\n [require.resolve('../babel.ts'), { extension: 'mjs' }],\n ],\n });\n\n const expected = await fs.promises.readFile(\n path.resolve(__dirname, `../__fixtures__/project/code/$${name}-output.ts`),\n 'utf8'\n );\n\n expect(result?.code).toEqual(expected.trim());\n});\n"],"mappings":";;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA6B,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7BG,WAAE,CAACC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAE,sBAAqB,EAAE,MAAOC,IAAI,IAAK;EACtE,MAAMC,QAAQ,GAAGC,iBAAI,CAACC,OAAO,CAC3BC,SAAS,EACR,iCAAgCJ,IAAK,WACxC,CAAC;EAED,MAAMK,MAAM,GAAG,MAAM,IAAAC,wBAAkB,EAACL,QAAQ,EAAE;IAChDM,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CACP,iCAAiC,EACjC,CAACnB,OAAO,CAACa,OAAO,CAAC,aAAa,CAAC,EAAE;MAAEO,SAAS,EAAE;IAAM,CAAC,CAAC;EAE1D,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,MAAMC,eAAE,CAACC,QAAQ,CAACC,QAAQ,CACzCZ,iBAAI,CAACC,OAAO,CAACC,SAAS,EAAG,iCAAgCJ,IAAK,YAAW,CAAC,EAC1E,MACF,CAAC;EAED,IAAAe,eAAM,EAACV,MAAM,EAAEW,IAAI,CAAC,CAACC,OAAO,CAACN,QAAQ,CAACO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","names":["_globals","require","_core","_nodeFs","_interopRequireDefault","_nodePath","e","__esModule","default","it","each","name","filepath","path","resolve","__dirname","result","transformFileAsync","configFile","babelrc","plugins","extension","expected","fs","promises","readFile","expect","code","toEqual","trim"],"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { expect, it } from '@jest/globals';\nimport { transformFileAsync } from '@babel/core';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nit.each(['imports', 'exports'])(`adds extension to %s`, async (name) => {\n const filepath = path.resolve(\n __dirname,\n `../__fixtures__/project/code/$${name}-input.ts`\n );\n\n const result = await transformFileAsync(filepath, {\n configFile: false,\n babelrc: false,\n plugins: [\n '@babel/plugin-syntax-typescript',\n [require.resolve('../babel.ts'), { extension: 'mjs' }],\n ],\n });\n\n const expected = await fs.promises.readFile(\n path.resolve(__dirname, `../__fixtures__/project/code/$${name}-output.ts`),\n 'utf8'\n );\n\n expect(result?.code).toEqual(expected.trim());\n});\n"],"mappings":";;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA6B,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7BG,WAAE,CAACC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,MAAOC,IAAI,IAAK;EACtE,MAAMC,QAAQ,GAAGC,iBAAI,CAACC,OAAO,CAC3BC,SAAS,EACT,iCAAiCJ,IAAI,WACvC,CAAC;EAED,MAAMK,MAAM,GAAG,MAAM,IAAAC,wBAAkB,EAACL,QAAQ,EAAE;IAChDM,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CACP,iCAAiC,EACjC,CAACnB,OAAO,CAACa,OAAO,CAAC,aAAa,CAAC,EAAE;MAAEO,SAAS,EAAE;IAAM,CAAC,CAAC;EAE1D,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,MAAMC,eAAE,CAACC,QAAQ,CAACC,QAAQ,CACzCZ,iBAAI,CAACC,OAAO,CAACC,SAAS,EAAE,iCAAiCJ,IAAI,YAAY,CAAC,EAC1E,MACF,CAAC;EAED,IAAAe,eAAM,EAACV,MAAM,EAAEW,IAAI,CAAC,CAACC,OAAO,CAACN,QAAQ,CAACO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC","ignoreList":[]}
package/lib/babel.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = _default;
7
7
  var _fs = _interopRequireDefault(require("fs"));
8
8
  var _path = _interopRequireDefault(require("path"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const isFile = filename => {
11
11
  const exists = _fs.default.lstatSync(filename, {
12
12
  throwIfNoEntry: false
package/lib/babel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__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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"}
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":[]}
package/lib/index.js CHANGED
@@ -12,9 +12,9 @@ var logger = _interopRequireWildcard(require("./utils/logger"));
12
12
  var _commonjs = _interopRequireDefault(require("./targets/commonjs"));
13
13
  var _module = _interopRequireDefault(require("./targets/module"));
14
14
  var _typescript = _interopRequireDefault(require("./targets/typescript"));
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ 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); }
16
+ 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; }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
18
  // eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires
19
19
  const {
20
20
  name,
@@ -135,8 +135,11 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
135
135
  } else {
136
136
  entries.main = entries.source;
137
137
  }
138
+ const types = {};
138
139
  if (targets.includes('typescript')) {
139
- entries.types = `./${_path.default.join(output, 'typescript', source, 'index.d.ts')}`;
140
+ types.require = `./${_path.default.join(output, 'typescript', 'commonjs', source, 'index.d.ts')}`;
141
+ types.import = `./${_path.default.join(output, 'typescript', 'module', source, 'index.d.ts')}`;
142
+ entries.types = types.require;
140
143
  if (!(await _fsExtra.default.pathExists(_path.default.join(root, 'tsconfig.json')))) {
141
144
  const {
142
145
  tsconfig
@@ -201,15 +204,22 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
201
204
  let replace = false;
202
205
  const exports = {
203
206
  '.': {
204
- ...(entries.types ? {
205
- types: entries.types
206
- } : null),
207
- ...(entries.module ? {
208
- import: entries.module
209
- } : null),
210
- ...(entries.main ? {
211
- require: entries.main
212
- } : null)
207
+ import: {
208
+ ...(types.import ? {
209
+ types: types.import
210
+ } : null),
211
+ ...(entries.module ? {
212
+ default: entries.module
213
+ } : null)
214
+ },
215
+ require: {
216
+ ...(types.require ? {
217
+ types: types.require
218
+ } : null),
219
+ ...(entries.main ? {
220
+ default: entries.main
221
+ } : null)
222
+ }
213
223
  }
214
224
  };
215
225
  if (pkg.exports && JSON.stringify(pkg.exports) !== JSON.stringify(exports)) {
@@ -255,17 +265,20 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
255
265
  pkg.scripts = pkg.scripts || {};
256
266
  pkg.scripts.prepare = prepare;
257
267
  }
258
- if (pkg.files && JSON.stringify(pkg.files.slice().sort()) !== JSON.stringify(files.slice().sort())) {
259
- const {
260
- update
261
- } = await (0, _prompts.default)({
262
- type: 'confirm',
263
- name: 'update',
264
- message: `Your package.json already has a 'files' field.\n Do you want to update it?`,
265
- initial: true
266
- });
267
- if (update) {
268
- pkg.files = [...files, ...pkg.files.filter(file => !files.includes(file.replace(/\/$/g, '')))];
268
+ if (pkg.files) {
269
+ const pkgFiles = pkg.files;
270
+ if (files?.some(file => !pkgFiles.includes(file))) {
271
+ const {
272
+ update
273
+ } = await (0, _prompts.default)({
274
+ type: 'confirm',
275
+ name: 'update',
276
+ message: `Your package.json already has a 'files' field.\n Do you want to update it?`,
277
+ initial: true
278
+ });
279
+ if (update) {
280
+ pkg.files = [...files, ...pkg.files.filter(file => !files.includes(file))];
281
+ }
269
282
  }
270
283
  } else {
271
284
  pkg.files = files;
@@ -279,7 +292,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
279
292
  copyFlow: true
280
293
  }];
281
294
  }
282
- if (t === 'commonjs' || t === 'module') {
295
+ if (t === 'commonjs' || t === 'module' || t === 'typescript') {
283
296
  return [t, {
284
297
  esm
285
298
  }];
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","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","name","version","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","main","module","types","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","entry","replace","exports","import","stringify","startsWith","remove","scripts","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"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 type { Options } from './types';\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 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 const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\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(pak, '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 if (targets.includes('typescript')) {\n entries.types = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\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 exports = {\n '.': {\n ...(entries.types ? { types: entries.types } : null),\n ...(entries.module ? { import: entries.module } : null),\n ...(entries.main ? { require: entries.main } : null),\n },\n };\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exports)\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 = exports;\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 (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\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(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\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') {\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(pak, 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', {}, async (argv) => {\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 for (const target of options.targets!) {\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 as string),\n output: path.resolve(root, output as string, '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 as string),\n output: path.resolve(root, output as string, '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 as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","name","version","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","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","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","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"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 type { Options } from './types';\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 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 const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\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(pak, '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 exports = {\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 (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exports)\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 = exports;\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(pak, 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', {}, async (argv) => {\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 for (const target of options.targets!) {\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 as string),\n output: path.resolve(root, output as string, '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 as string),\n output: path.resolve(root, output as string, '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 as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ var _path = _interopRequireDefault(require("path"));
8
8
  var _kleur = _interopRequireDefault(require("kleur"));
9
9
  var _del = _interopRequireDefault(require("del"));
10
10
  var _compile = _interopRequireDefault(require("../utils/compile"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  async function build({
13
13
  root,
14
14
  source,
@@ -1 +1 @@
1
- {"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/commonjs.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'commonjs',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","e","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/commonjs.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'commonjs',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAC,EAC1E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -8,7 +8,7 @@ var _path = _interopRequireDefault(require("path"));
8
8
  var _kleur = _interopRequireDefault(require("kleur"));
9
9
  var _del = _interopRequireDefault(require("del"));
10
10
  var _compile = _interopRequireDefault(require("../utils/compile"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  async function build({
13
13
  root,
14
14
  source,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/module.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'preserve',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","e","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/module.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'preserve',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAC,EAC1E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -12,7 +12,7 @@ var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
12
12
  var _del = _interopRequireDefault(require("del"));
13
13
  var _json = _interopRequireDefault(require("json5"));
14
14
  var _os = require("os");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  async function build({
17
17
  source,
18
18
  root,
@@ -89,18 +89,59 @@ async function build({
89
89
  } catch (e) {
90
90
  // Ignore
91
91
  }
92
- const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', output], {
92
+ const outputs = options?.esm ? {
93
+ commonjs: _path.default.join(output, 'commonjs'),
94
+ module: _path.default.join(output, 'module')
95
+ } : {
96
+ commonjs: output
97
+ };
98
+ const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outputs.commonjs], {
93
99
  stdio: 'inherit',
94
100
  cwd: root
95
101
  });
96
102
  if (result.status === 0) {
97
103
  await (0, _del.default)([tsbuildinfo]);
104
+ if (outputs?.module) {
105
+ // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm
106
+ // In this case we copy the already generated types, and add `package.json` with `type` field
107
+ await _fsExtra.default.copy(outputs.commonjs, outputs.module);
108
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
109
+ type: 'commonjs'
110
+ });
111
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
112
+ type: 'module'
113
+ });
114
+ }
98
115
  report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
99
116
  const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
100
- const getGeneratedTypesPath = async () => {
117
+ const fields = [{
118
+ name: 'types',
119
+ value: pkg.types,
120
+ output: outputs.commonjs,
121
+ error: false
122
+ }, ...(pkg.exports?.['.']?.types ? [{
123
+ name: "exports['.'].types",
124
+ value: pkg.exports?.['.']?.types,
125
+ output: outputs.commonjs,
126
+ error: options?.esm === true
127
+ }] : []), {
128
+ name: "exports['.'].import.types",
129
+ value: pkg.exports?.['.']?.import?.types,
130
+ output: outputs.module,
131
+ error: !options?.esm
132
+ }, {
133
+ name: "exports['.'].require.types",
134
+ value: pkg.exports?.['.']?.require?.types,
135
+ output: outputs.commonjs,
136
+ error: !options?.esm
137
+ }];
138
+ const getGeneratedTypesPath = async field => {
139
+ if (!field.output || field.error) {
140
+ return null;
141
+ }
101
142
  if (pkg.source) {
102
143
  const indexDTsName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
103
- const potentialPaths = [_path.default.join(output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(output, _path.default.dirname(_path.default.relative(source, _path.default.join(root, pkg.source))), indexDTsName)];
144
+ const potentialPaths = [_path.default.join(field.output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(field.output, _path.default.relative(source, _path.default.join(root, _path.default.dirname(pkg.source))), indexDTsName)];
104
145
  for (const potentialPath of potentialPaths) {
105
146
  if (await _fsExtra.default.pathExists(potentialPath)) {
106
147
  return _path.default.relative(root, potentialPath);
@@ -109,34 +150,31 @@ async function build({
109
150
  }
110
151
  return null;
111
152
  };
112
- const fields = [{
113
- name: 'types',
114
- value: pkg.types
115
- }, {
116
- name: "exports['.'].types",
117
- value: pkg.exports?.['.']?.types
118
- }];
119
- if (fields.some(field => field.value)) {
120
- await Promise.all(fields.map(async ({
121
- name,
122
- value
123
- }) => {
124
- if (!value) {
125
- return;
153
+ const invalidFieldNames = (await Promise.all(fields.map(async field => {
154
+ if (field.error) {
155
+ if (field.value) {
156
+ report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when the ${_kleur.default.blue('esm')} option is ${options?.esm ? 'enabled' : 'disabled'}.`);
126
157
  }
127
- const typesPath = _path.default.join(root, value);
128
- if (!(await _fsExtra.default.pathExists(typesPath))) {
129
- const generatedTypesPath = await getGeneratedTypesPath();
130
- if (!generatedTypesPath) {
131
- report.warn(`Failed to detect the entry point for the generated types. Make sure you have a valid ${_kleur.default.blue('source')} field in your ${_kleur.default.blue('package.json')}.`);
132
- }
133
- report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
134
- throw new Error(`Found incorrect path in '${name}' field.`);
135
- }
136
- }));
137
- } else {
138
- const generatedTypesPath = await getGeneratedTypesPath();
139
- report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}.\nConsider ${generatedTypesPath ? `pointing it to ${_kleur.default.blue(generatedTypesPath)}` : 'adding it'} so that consumers of your package can use the types.`);
158
+ return null;
159
+ }
160
+ if (field.name.startsWith('exports') && field.value && !/^\.\//.test(field.value)) {
161
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(field.value)}`);
162
+ return field.name;
163
+ }
164
+ if (field.value && !(await _fsExtra.default.pathExists(_path.default.join(root, field.value)))) {
165
+ const generatedTypesPath = await getGeneratedTypesPath(field);
166
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(field.value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
167
+ return field.name;
168
+ }
169
+ return null;
170
+ }))).filter(name => name != null);
171
+ if (invalidFieldNames.length) {
172
+ throw new Error(`Found errors for fields: ${invalidFieldNames.join(', ')}.`);
173
+ }
174
+ const validFields = fields.filter(field => !field.error);
175
+ if (validFields.every(field => field.value == null)) {
176
+ const suggestedTypesPaths = (await Promise.all(validFields.map(field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
177
+ report.warn(`No ${validFields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${suggestedTypesPaths.length ? `pointing to ${suggestedTypesPaths.map(path => _kleur.default.blue(path)).join(' or ')}` : `adding ${validFields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can use the typescript definitions.`);
140
178
  }
141
179
  } else {
142
180
  throw new Error('Failed to build definition files.');
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","obj","__esModule","default","build","source","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","status","success","pkg","JSON","getGeneratedTypesPath","indexDTsName","basename","potentialPaths","dirname","potentialPath","fields","name","value","types","exports","some","field","Promise","all","map","typesPath","generatedTypesPath","error","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: { project?: string; tsc?: string };\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const tsbuildinfo = path.join(\n output,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const getGeneratedTypesPath = async () => {\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(output, path.dirname(pkg.source), indexDTsName),\n path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\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 { name: 'types', value: pkg.types },\n { name: \"exports['.'].types\", value: pkg.exports?.['.']?.types },\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 const typesPath = path.join(root, value);\n\n if (!(await fs.pathExists(typesPath))) {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n if (!generatedTypesPath) {\n report.warn(\n `Failed to detect the entry point for the generated types. 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 generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n })\n );\n } else {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n report.warn(\n `No ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}.\\nConsider ${\n generatedTypesPath\n ? `pointing it to ${kleur.blue(generatedTypesPath)}`\n : 'adding it'\n } so that consumers of your package can use the types.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","e","__esModule","default","build","source","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","outputs","esm","commonjs","module","status","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","exports","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n project?: string;\n tsc?: string;\n };\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const tsbuildinfo = path.join(\n output,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const outputs = options?.esm\n ? {\n commonjs: path.join(output, 'commonjs'),\n module: path.join(output, 'module'),\n }\n : { commonjs: output };\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outputs.commonjs,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n if (outputs?.module) {\n // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outputs.commonjs,\n error: options?.esm === true,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !options?.esm,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: !options?.esm,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when the ${kleur.blue(\n 'esm'\n )} option is ${options?.esm ? 'enabled' : 'disabled'}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\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 = 'commonjs' | 'module' | 'typescript';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [Target, object])[];\n exclude?: string;\n};\n"],"mappings":""}
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 = 'commonjs' | 'module' | 'typescript';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [Target, object])[];\n exclude?: string;\n};\n"],"mappings":"","ignoreList":[]}
@@ -9,7 +9,7 @@ var _kleur = _interopRequireDefault(require("kleur"));
9
9
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
10
  var _child_process = require("child_process");
11
11
  var _os = require("os");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  async function androidAssemble({
14
14
  root,
15
15
  androidPath,
@@ -1 +1 @@
1
- {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","obj","__esModule","default","androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAA8B,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AASf,eAAeG,eAAeA,CAAC;EAC5CC,IAAI;EACJC,WAAW;EACXC;AACO,CAAC,EAAE;EACV,MAAMC,GAAG,GAAGC,aAAI,CAACC,QAAQ,CAACL,IAAI,EAAEC,WAAW,CAAC;EAE5CC,MAAM,CAACI,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAE,SAAQI,cAAK,CAACC,IAAI,CACjE,QACF,CAAE,EACJ,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAC,YAAQ,EAAC,CAAC,KAAK,OAAO,GAAG,aAAa,GAAG,WAAW;EAC1E,IAAI,MAAMC,gBAAE,CAACC,UAAU,CAACR,aAAI,CAACS,IAAI,CAACZ,WAAW,EAAEQ,aAAa,CAAC,CAAC,EAAE;IAC9D,IAAAK,2BAAY,EAACL,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;MAAEN,GAAG,EAAEF;IAAY,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,MAAM,IAAIc,KAAK,CACZ,OAAMR,cAAK,CAACC,IAAI,CACf,SACF,CAAE,sCAAqCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAE,4CAA2CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAE,qBACJ,CAAC;EACH;AACF"}
1
+ {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","e","__esModule","default","androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAA8B,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASf,eAAeG,eAAeA,CAAC;EAC5CC,IAAI;EACJC,WAAW;EACXC;AACO,CAAC,EAAE;EACV,MAAMC,GAAG,GAAGC,aAAI,CAACC,QAAQ,CAACL,IAAI,EAAEC,WAAW,CAAC;EAE5CC,MAAM,CAACI,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAC,SAASI,cAAK,CAACC,IAAI,CACjE,QACF,CAAC,EACH,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAC,YAAQ,EAAC,CAAC,KAAK,OAAO,GAAG,aAAa,GAAG,WAAW;EAC1E,IAAI,MAAMC,gBAAE,CAACC,UAAU,CAACR,aAAI,CAACS,IAAI,CAACZ,WAAW,EAAEQ,aAAa,CAAC,CAAC,EAAE;IAC9D,IAAAK,2BAAY,EAACL,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;MAAEN,GAAG,EAAEF;IAAY,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,MAAM,IAAIc,KAAK,CACb,OAAOR,cAAK,CAACC,IAAI,CACf,SACF,CAAC,sCAAsCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAC,4CAA4CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAC,qBACH,CAAC;EACH;AACF","ignoreList":[]}
@@ -9,9 +9,9 @@ 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
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ 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
+ 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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  const sourceExt = /\.([cm])?[jt]sx?$/;
16
16
  async function compile({
17
17
  root,
@@ -110,14 +110,20 @@ async function compile({
110
110
  }];
111
111
  if (esm) {
112
112
  if (modules === 'commonjs') {
113
- fields.push({
113
+ fields.push(typeof pkg.exports?.['.']?.require === 'string' ? {
114
114
  name: "exports['.'].require",
115
115
  value: pkg.exports?.['.']?.require
116
+ } : {
117
+ name: "exports['.'].require.default",
118
+ value: pkg.exports?.['.']?.require?.default
116
119
  });
117
120
  } else {
118
- fields.push({
121
+ fields.push(typeof pkg.exports?.['.']?.import === 'string' ? {
119
122
  name: "exports['.'].import",
120
123
  value: pkg.exports?.['.']?.import
124
+ } : {
125
+ name: "exports['.'].import.default",
126
+ value: pkg.exports?.['.']?.import?.default
121
127
  });
122
128
  }
123
129
  } else {
@@ -135,6 +141,10 @@ async function compile({
135
141
  if (!value) {
136
142
  return;
137
143
  }
144
+ if (name.startsWith('exports') && value && !/^\.\//.test(value)) {
145
+ report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(value)}`);
146
+ throw new Error(`Found incorrect path in '${name}' field.`);
147
+ }
138
148
  try {
139
149
  require.resolve(_path.default.join(root, value));
140
150
  } catch (e) {
@@ -151,7 +161,7 @@ async function compile({
151
161
  }));
152
162
  } else {
153
163
  const generatedEntryPath = await getGeneratedEntryPath();
154
- report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing it to ${_kleur.default.blue(generatedEntryPath)}` : 'adding it'} so that consumers of your package can use it.`);
164
+ report.warn(`No ${fields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing to ${_kleur.default.blue(generatedEntryPath)}` : `adding ${fields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can import your package.`);
155
165
  }
156
166
  }
157
167
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","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","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","name","value","main","module","push","exports","import","some","field","e","generatedEntryPath","error"],"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};\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}: 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 await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\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 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: [\n [\n require.resolve('../../babel-preset'),\n {\n modules:\n // If a file is explicitly marked as ESM, then preserve the syntax\n /\\.m[jt]s$/.test(filepath) ? 'preserve' : modules,\n esm,\n },\n ],\n ],\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 name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n });\n } else {\n fields.push({\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\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 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 ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing it to ${kleur.blue(generatedEntryPath)}`\n : 'adding it'\n } so that consumers of your package can use it.`\n );\n }\n}\n"],"mappings":"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"}
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","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","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","name","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};\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}: 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 await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\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 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: [\n [\n require.resolve('../../babel-preset'),\n {\n modules:\n // If a file is explicitly marked as ESM, then preserve the syntax\n /\\.m[jt]s$/.test(filepath) ? 'preserve' : modules,\n esm,\n },\n ],\n ],\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":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warn = exports.success = exports.info = exports.exit = exports.error = void 0;
7
7
  var _kleur = _interopRequireDefault(require("kleur"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  const logger = (type, color) => (...messages) => {
10
10
  console.log(color(_kleur.default.bold(type)), ...messages.map(message => {
11
11
  if (typeof message === 'string') {
@@ -15,14 +15,10 @@ const logger = (type, color) => (...messages) => {
15
15
  }
16
16
  }));
17
17
  };
18
- const info = logger('ℹ', _kleur.default.blue);
19
- exports.info = info;
20
- const warn = logger('', _kleur.default.yellow);
21
- exports.warn = warn;
22
- const error = logger('✖', _kleur.default.red);
23
- exports.error = error;
24
- const success = logger('✔', _kleur.default.green);
25
- exports.success = success;
18
+ const info = exports.info = logger('ℹ', _kleur.default.blue);
19
+ const warn = exports.warn = logger('⚠', _kleur.default.yellow);
20
+ const error = exports.error = logger('', _kleur.default.red);
21
+ const success = exports.success = logger('✔', _kleur.default.green);
26
22
  const exit = (...messages) => {
27
23
  error(...messages);
28
24
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["_kleur","_interopRequireDefault","require","obj","__esModule","default","logger","type","color","messages","console","log","kleur","bold","map","message","split","join","info","blue","exports","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,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;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,CAAE,MAAK,CAAC;IACzC,CAAC,MAAM;MACL,OAAOF,OAAO;IAChB;EACF,CAAC,CACH,CAAC;AACH,CAAC;AAEI,MAAMG,IAAI,GAAGZ,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACO,IAAI,CAAC;AAACC,OAAA,CAAAF,IAAA,GAAAA,IAAA;AACrC,MAAMG,IAAI,GAAGf,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACU,MAAM,CAAC;AAACF,OAAA,CAAAC,IAAA,GAAAA,IAAA;AACvC,MAAME,KAAK,GAAGjB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACY,GAAG,CAAC;AAACJ,OAAA,CAAAG,KAAA,GAAAA,KAAA;AACrC,MAAME,OAAO,GAAGnB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACc,KAAK,CAAC;AAACN,OAAA,CAAAK,OAAA,GAAAA,OAAA;AAEzC,MAAME,IAAI,GAAGA,CAAC,GAAGlB,QAAmB,KAAK;EAC9Cc,KAAK,CAAC,GAAGd,QAAQ,CAAC;EAClBmB,OAAO,CAACD,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC;AAACP,OAAA,CAAAO,IAAA,GAAAA,IAAA"}
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":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = prompts;
7
7
  var _prompts = _interopRequireDefault(require("prompts"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  function prompts(args, options) {
10
10
  return (0, _prompts.default)(args, {
11
11
  onCancel() {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","obj","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAErB,SAASG,OAAOA,CAC7BC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,SAASG,OAAOA,CAC7BC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
package/metro-config.js CHANGED
@@ -17,7 +17,12 @@ const exclusionList = require('metro-config/src/defaults/exclusionList');
17
17
  * @returns {import('metro-config').MetroConfig} Metro configuration
18
18
  */
19
19
  const getConfig = (defaultConfig, { root, pkg, project }) => {
20
- const modules = Object.keys({ ...pkg.peerDependencies });
20
+ const modules = [
21
+ // AssetsRegistry is used internally by React Native to handle asset imports
22
+ // This needs to be a singleton so all assets are registered to a single registry
23
+ '@react-native/assets-registry',
24
+ ...Object.keys({ ...pkg.peerDependencies }),
25
+ ];
21
26
 
22
27
  /**
23
28
  * Metro configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.28.1",
3
+ "version": "0.29.1",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -45,12 +45,12 @@
45
45
  ]
46
46
  },
47
47
  "dependencies": {
48
- "@babel/core": "^7.18.5",
48
+ "@babel/core": "^7.25.2",
49
49
  "@babel/plugin-transform-strict-mode": "^7.24.7",
50
- "@babel/preset-env": "^7.18.2",
51
- "@babel/preset-flow": "^7.17.12",
52
- "@babel/preset-react": "^7.17.12",
53
- "@babel/preset-typescript": "^7.17.12",
50
+ "@babel/preset-env": "^7.25.2",
51
+ "@babel/preset-flow": "^7.24.7",
52
+ "@babel/preset-react": "^7.24.7",
53
+ "@babel/preset-typescript": "^7.24.7",
54
54
  "babel-plugin-module-resolver": "^5.0.2",
55
55
  "browserslist": "^4.20.4",
56
56
  "cosmiconfig": "^9.0.0",
@@ -69,7 +69,7 @@
69
69
  "yargs": "^17.5.1"
70
70
  },
71
71
  "devDependencies": {
72
- "@babel/cli": "^7.17.10",
72
+ "@babel/cli": "^7.24.8",
73
73
  "@jest/globals": "^29.7.0",
74
74
  "@types/babel__core": "^7.1.19",
75
75
  "@types/browserslist": "^4.15.0",
@@ -85,5 +85,5 @@
85
85
  "concurrently": "^7.2.2",
86
86
  "jest": "^29.7.0"
87
87
  },
88
- "gitHead": "cc30f7f041869cf0d66e826e02b377363a9af55c"
88
+ "gitHead": "8edf59069dc59358b6a2e7968f1dd243ae1d58a7"
89
89
  }