react-native-builder-bob 0.23.2 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/babel-preset.js +35 -0
  2. package/lib/__fixtures__/project/code/$alias-input.js +8 -0
  3. package/lib/__fixtures__/project/code/$alias-input.js.map +1 -0
  4. package/lib/__fixtures__/project/code/$alias-output.js +8 -0
  5. package/lib/__fixtures__/project/code/$alias-output.js.map +1 -0
  6. package/lib/__fixtures__/project/code/$exports-input.js +64 -0
  7. package/lib/__fixtures__/project/code/$exports-input.js.map +1 -0
  8. package/lib/__fixtures__/project/code/$exports-output.js +64 -0
  9. package/lib/__fixtures__/project/code/$exports-output.js.map +1 -0
  10. package/lib/__fixtures__/project/code/$imports-input.js +4 -0
  11. package/lib/__fixtures__/project/code/$imports-input.js.map +1 -0
  12. package/lib/__fixtures__/project/code/$imports-output.js +4 -0
  13. package/lib/__fixtures__/project/code/$imports-output.js.map +1 -0
  14. package/lib/__fixtures__/project/code/a.js +2 -0
  15. package/lib/__fixtures__/project/code/a.js.map +1 -0
  16. package/lib/__fixtures__/project/code/b.js +2 -0
  17. package/lib/__fixtures__/project/code/b.js.map +1 -0
  18. package/lib/__fixtures__/project/code/e.story.js +2 -0
  19. package/lib/__fixtures__/project/code/e.story.js.map +1 -0
  20. package/lib/__fixtures__/project/f.js +2 -0
  21. package/lib/__fixtures__/project/f.js.map +1 -0
  22. package/lib/__fixtures__/project/index.js +2 -0
  23. package/lib/__fixtures__/project/index.js.map +1 -0
  24. package/lib/__tests__/index.test.js +37 -0
  25. package/lib/__tests__/index.test.js.map +1 -0
  26. package/lib/babel.js +103 -0
  27. package/lib/babel.js.map +1 -0
  28. package/lib/utils/compile.js +2 -8
  29. package/lib/utils/compile.js.map +1 -1
  30. package/package.json +14 -5
@@ -0,0 +1,35 @@
1
+ /* eslint-disable import/no-commonjs */
2
+
3
+ const browserslist = require('browserslist');
4
+
5
+ module.exports = function (api, options, cwd) {
6
+ return {
7
+ presets: [
8
+ [
9
+ require.resolve('@babel/preset-env'),
10
+ {
11
+ targets: browserslist.findConfig(cwd) || {
12
+ browsers: [
13
+ '>1%',
14
+ 'last 2 chrome versions',
15
+ 'last 2 edge versions',
16
+ 'last 2 firefox versions',
17
+ 'last 2 safari versions',
18
+ 'not dead',
19
+ 'not ie <= 11',
20
+ 'not op_mini all',
21
+ 'not android <= 4.4',
22
+ 'not samsung <= 4',
23
+ ],
24
+ node: '18',
25
+ },
26
+ useBuiltIns: false,
27
+ modules: options.modules || false,
28
+ },
29
+ ],
30
+ require.resolve('@babel/preset-react'),
31
+ require.resolve('@babel/preset-typescript'),
32
+ require.resolve('@babel/preset-flow'),
33
+ ],
34
+ };
35
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("@");
4
+ require("@something");
5
+ require("./@");
6
+ require("file");
7
+ require("something/somefile");
8
+ //# sourceMappingURL=$alias-input.js.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("..");
4
+ require("@something");
5
+ require("./@");
6
+ require("../f");
7
+ require("another/somefile");
8
+ //# sourceMappingURL=$alias-output.js.map
@@ -0,0 +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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ foo: true,
8
+ bar: true,
9
+ a: true,
10
+ b: true,
11
+ c: true,
12
+ d: true,
13
+ e: true,
14
+ f: true,
15
+ pac: true,
16
+ pak: true,
17
+ pax: true,
18
+ a1: true
19
+ };
20
+ exports.a = void 0;
21
+ Object.defineProperty(exports, "a1", {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _a3.a;
25
+ }
26
+ });
27
+ exports.pax = exports.pak = exports.pac = exports.foo = exports.f = exports.e = exports.d = exports.c = exports.bar = exports.b = void 0;
28
+ var _a = _interopRequireWildcard(require("a"));
29
+ exports.a = _a;
30
+ var _b = _interopRequireWildcard(require("./b"));
31
+ exports.b = _b;
32
+ Object.keys(_b).forEach(function (key) {
33
+ if (key === "default" || key === "__esModule") return;
34
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
35
+ if (key in exports && exports[key] === _b[key]) return;
36
+ Object.defineProperty(exports, key, {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _b[key];
40
+ }
41
+ });
42
+ });
43
+ var _c = _interopRequireWildcard(require("./c"));
44
+ exports.c = _c;
45
+ var _d = _interopRequireWildcard(require("./d"));
46
+ exports.d = _d;
47
+ var _e = _interopRequireWildcard(require("./e.story"));
48
+ exports.e = _e;
49
+ var _f = _interopRequireWildcard(require("../f"));
50
+ exports.f = _f;
51
+ var _pac = _interopRequireWildcard(require(".."));
52
+ exports.pac = _pac;
53
+ var _pak = _interopRequireWildcard(require("../"));
54
+ exports.pak = _pak;
55
+ var _pax = _interopRequireWildcard(require("../index"));
56
+ exports.pax = _pax;
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;
64
+ //# sourceMappingURL=$exports-input.js.map
@@ -0,0 +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":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ foo: true,
8
+ bar: true,
9
+ a: true,
10
+ b: true,
11
+ c: true,
12
+ d: true,
13
+ e: true,
14
+ f: true,
15
+ pac: true,
16
+ pak: true,
17
+ pax: true,
18
+ a1: true
19
+ };
20
+ exports.a = void 0;
21
+ Object.defineProperty(exports, "a1", {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _a3.a;
25
+ }
26
+ });
27
+ exports.pax = exports.pak = exports.pac = exports.foo = exports.f = exports.e = exports.d = exports.c = exports.bar = exports.b = void 0;
28
+ var _a = _interopRequireWildcard(require("a"));
29
+ exports.a = _a;
30
+ var _b = _interopRequireWildcard(require("./b.mjs"));
31
+ exports.b = _b;
32
+ Object.keys(_b).forEach(function (key) {
33
+ if (key === "default" || key === "__esModule") return;
34
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
35
+ if (key in exports && exports[key] === _b[key]) return;
36
+ Object.defineProperty(exports, key, {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _b[key];
40
+ }
41
+ });
42
+ });
43
+ var _c = _interopRequireWildcard(require("./c.mjs"));
44
+ exports.c = _c;
45
+ var _d = _interopRequireWildcard(require("./d"));
46
+ exports.d = _d;
47
+ var _e = _interopRequireWildcard(require("./e.story.mjs"));
48
+ exports.e = _e;
49
+ var _f = _interopRequireWildcard(require("../f.mjs"));
50
+ exports.f = _f;
51
+ var _pac = _interopRequireWildcard(require("../index.mjs"));
52
+ var _pak = _pac;
53
+ var _pax = _pac;
54
+ exports.pac = _pac;
55
+ exports.pak = _pac;
56
+ exports.pax = _pac;
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;
64
+ //# sourceMappingURL=$exports-output.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./a");
4
+ //# sourceMappingURL=$imports-input.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./a.mjs");
4
+ //# sourceMappingURL=$imports-output.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a.js","names":[],"sources":["../../../../src/__fixtures__/project/code/a.ts"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b.js","names":[],"sources":["../../../../src/__fixtures__/project/code/b.ts"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=e.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e.story.js","names":[],"sources":["../../../../src/__fixtures__/project/code/e.story.ts"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"f.js","names":[],"sources":["../../../src/__fixtures__/project/f.ts"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/__fixtures__/project/index.ts"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _globals = require("@jest/globals");
4
+ var _core = require("@babel/core");
5
+ var _nodeFs = _interopRequireDefault(require("node:fs"));
6
+ var _nodePath = _interopRequireDefault(require("node:path"));
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ _globals.it.each(['imports', 'exports'])(`adds .js extension to %s`, async name => {
9
+ const filepath = _nodePath.default.resolve(__dirname, `../__fixtures__/project/code/$${name}-input.ts`);
10
+ const result = await (0, _core.transformFileAsync)(filepath, {
11
+ configFile: false,
12
+ babelrc: false,
13
+ plugins: ['@babel/plugin-syntax-typescript', [require.resolve('../babel.ts'), {
14
+ extension: 'mjs'
15
+ }]]
16
+ });
17
+ const expected = await _nodeFs.default.promises.readFile(_nodePath.default.resolve(__dirname, `../__fixtures__/project/code/$${name}-output.ts`), 'utf8');
18
+ (0, _globals.expect)(result?.code).toEqual(expected.trim());
19
+ });
20
+ (0, _globals.it)('replaces alias imports', async () => {
21
+ const filepath = _nodePath.default.resolve(__dirname, `../__fixtures__/project/code/$alias-input.ts`);
22
+ const result = await (0, _core.transformFileAsync)(filepath, {
23
+ cwd: __dirname,
24
+ configFile: false,
25
+ babelrc: false,
26
+ plugins: ['@babel/plugin-syntax-typescript', [require.resolve('../babel.ts'), {
27
+ alias: {
28
+ '@': '../__fixtures__/project',
29
+ 'file': '../__fixtures__/project/f',
30
+ 'something': 'another'
31
+ }
32
+ }]]
33
+ });
34
+ const expected = await _nodeFs.default.promises.readFile(_nodePath.default.resolve(__dirname, `../__fixtures__/project/code/$alias-output.ts`), 'utf8');
35
+ (0, _globals.expect)(result?.code).toEqual(expected.trim());
36
+ });
37
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +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","cwd","alias"],"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 .js 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\nit('replaces alias imports', async () => {\n const filepath = path.resolve(\n __dirname,\n `../__fixtures__/project/code/$alias-input.ts`\n );\n\n const result = await transformFileAsync(filepath, {\n cwd: __dirname,\n configFile: false,\n babelrc: false,\n plugins: [\n '@babel/plugin-syntax-typescript',\n [\n require.resolve('../babel.ts'),\n {\n alias: {\n '@': '../__fixtures__/project',\n 'file': '../__fixtures__/project/f',\n 'something': 'another',\n },\n },\n ],\n ],\n });\n\n const expected = await fs.promises.readFile(\n path.resolve(__dirname, `../__fixtures__/project/code/$alias-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,0BAAyB,EAAE,MAAOC,IAAI,IAAK;EAC1E,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;AAEF,IAAApB,WAAE,EAAC,wBAAwB,EAAE,YAAY;EACvC,MAAMG,QAAQ,GAAGC,iBAAI,CAACC,OAAO,CAC3BC,SAAS,EACR,8CACH,CAAC;EAED,MAAMC,MAAM,GAAG,MAAM,IAAAC,wBAAkB,EAACL,QAAQ,EAAE;IAChDkB,GAAG,EAAEf,SAAS;IACdG,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CACP,iCAAiC,EACjC,CACEnB,OAAO,CAACa,OAAO,CAAC,aAAa,CAAC,EAC9B;MACEiB,KAAK,EAAE;QACL,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,2BAA2B;QACnC,WAAW,EAAE;MACf;IACF,CAAC,CACF;EAEL,CAAC,CAAC;EAEF,MAAMT,QAAQ,GAAG,MAAMC,eAAE,CAACC,QAAQ,CAACC,QAAQ,CACzCZ,iBAAI,CAACC,OAAO,CAACC,SAAS,EAAG,+CAA8C,CAAC,EACxE,MACF,CAAC;EAED,IAAAW,eAAM,EAACV,MAAM,EAAEW,IAAI,CAAC,CAACC,OAAO,CAACN,QAAQ,CAACO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC"}
package/lib/babel.js ADDED
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ var _path = _interopRequireDefault(require("path"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const isFile = filename => {
11
+ const exists = _fs.default.lstatSync(filename, {
12
+ throwIfNoEntry: false
13
+ })?.isFile() ?? false;
14
+ return exists;
15
+ };
16
+ const isDirectory = filename => {
17
+ const exists = _fs.default.lstatSync(filename, {
18
+ throwIfNoEntry: false
19
+ })?.isDirectory() ?? false;
20
+ return exists;
21
+ };
22
+ const isTypeImport = node => 'importKind' in node && node.importKind === 'type' || 'exportKind' in node && node.exportKind === 'type';
23
+ const assertFilename = filename => {
24
+ if (filename == null) {
25
+ throw new Error("Couldn't find a filename for the current file.");
26
+ }
27
+ };
28
+ function _default(api, {
29
+ alias,
30
+ extension
31
+ }) {
32
+ api.assertVersion(7);
33
+ function aliasImports({
34
+ node
35
+ }, state) {
36
+ if (alias == null ||
37
+ // Skip type imports as they'll be removed
38
+ isTypeImport(node) ||
39
+ // Skip imports without a source
40
+ !node.source?.value) {
41
+ return;
42
+ }
43
+ assertFilename(state.filename);
44
+ const root = state.cwd;
45
+ const source = node.source.value;
46
+ for (const [key, value] of Object.entries(alias)) {
47
+ if (source === key || source.startsWith(`${key}/`)) {
48
+ const resolved = value.startsWith('.') ? _path.default.relative(_path.default.dirname(state.filename), _path.default.resolve(root, value)) : value;
49
+ node.source.value = source.replace(key, resolved);
50
+ return;
51
+ }
52
+ }
53
+ }
54
+ function addExtension({
55
+ node
56
+ }, state) {
57
+ if (extension == null ||
58
+ // Skip type imports as they'll be removed
59
+ isTypeImport(node) ||
60
+ // Skip non-relative imports
61
+ !node.source?.value.startsWith('.')) {
62
+ return;
63
+ }
64
+ assertFilename(state.filename);
65
+
66
+ // Skip folder imports
67
+ const filename = _path.default.resolve(_path.default.dirname(state.filename), node.source.value);
68
+
69
+ // Add extension if .ts file or file with extension exists
70
+ if (isFile(`${filename}.ts`) || isFile(`${filename}.tsx`) || isFile(`${filename}.${extension}`)) {
71
+ node.source.value += `.${extension}`;
72
+ return;
73
+ }
74
+
75
+ // Replace .ts extension with .js if .ts file exists
76
+ if (isFile(filename)) {
77
+ node.source.value = node.source.value.replace(/\.tsx?$/, `.${extension}`);
78
+ return;
79
+ }
80
+ if (isDirectory(filename) && (isFile(_path.default.join(filename, 'index.ts')) || isFile(_path.default.join(filename, 'index.tsx')) || isFile(_path.default.join(filename, `index.${extension}`)))) {
81
+ node.source.value = node.source.value.replace(/\/?$/, `/index.${extension}`);
82
+ return;
83
+ }
84
+ }
85
+ return {
86
+ name: '@builder-bob/babel-plugin',
87
+ visitor: {
88
+ ImportDeclaration(path, state) {
89
+ aliasImports(path, state);
90
+ addExtension(path, state);
91
+ },
92
+ ExportNamedDeclaration(path, state) {
93
+ aliasImports(path, state);
94
+ addExtension(path, state);
95
+ },
96
+ ExportAllDeclaration(path, state) {
97
+ aliasImports(path, state);
98
+ addExtension(path, state);
99
+ }
100
+ }
101
+ };
102
+ }
103
+ //# sourceMappingURL=babel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","alias","extension","assertVersion","aliasImports","state","source","value","root","cwd","key","Object","entries","startsWith","resolved","path","relative","dirname","resolve","replace","addExtension","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 alias?: Record<string, string>;\n extension?: 'cjs' | 'mjs';\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 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 { alias, extension }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function aliasImports(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n alias == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip imports without a source\n !node.source?.value\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n const root = state.cwd;\n const source = node.source.value;\n\n for (const [key, value] of Object.entries(alias)) {\n if (source === key || source.startsWith(`${key}/`)) {\n const resolved = value.startsWith('.')\n ? path.relative(\n path.dirname(state.filename),\n path.resolve(root, value)\n )\n : value;\n\n node.source.value = source.replace(key, resolved);\n return;\n }\n }\n }\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 // Add extension if .ts file or file with extension exists\n if (\n isFile(`${filename}.ts`) ||\n isFile(`${filename}.tsx`) ||\n isFile(`${filename}.${extension}`)\n ) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Replace .ts extension with .js if .ts file exists\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n if (\n isDirectory(filename) &&\n (isFile(path.join(filename, 'index.ts')) ||\n isFile(path.join(filename, 'index.tsx')) ||\n isFile(path.join(filename, `index.${extension}`)))\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: '@builder-bob/babel-plugin',\n visitor: {\n ImportDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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"}
@@ -8,7 +8,6 @@ var _path = _interopRequireDefault(require("path"));
8
8
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
  var _kleur = _interopRequireDefault(require("kleur"));
10
10
  var babel = _interopRequireWildcard(require("@babel/core"));
11
- var _browserslist = _interopRequireDefault(require("browserslist"));
12
11
  var _glob = _interopRequireDefault(require("glob"));
13
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); }
14
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; }
@@ -57,14 +56,9 @@ async function compile({
57
56
  sourceFileName: _path.default.relative(source, filepath),
58
57
  filename: filepath,
59
58
  ...(babelrc || configFile ? null : {
60
- presets: [[require.resolve('@babel/preset-env'), {
61
- targets: _browserslist.default.findConfig(root) ?? {
62
- browsers: ['>1%', 'last 2 chrome versions', 'last 2 edge versions', 'last 2 firefox versions', 'last 2 safari versions', 'not dead', 'not ie <= 11', 'not op_mini all', 'not android <= 4.4', 'not samsung <= 4'],
63
- node: '18'
64
- },
65
- useBuiltIns: false,
59
+ presets: [[require.resolve('../../babel-preset'), {
66
60
  modules
67
- }], require.resolve('@babel/preset-react'), require.resolve('@babel/preset-typescript'), require.resolve('@babel/preset-flow')]
61
+ }]]
68
62
  })
69
63
  });
70
64
  if (result == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_browserslist","_glob","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","compile","root","source","output","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","field","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","targets","browserslist","findConfig","browsers","node","useBuiltIns","Error","code","mapFilename","basename","sourcesContent","undefined","writeJSON","writeFile","success","getGeneratedEntryPath","indexName","potentialPath","pathExists","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 browserslist from 'browserslist';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | false;\n field: 'main' | 'module';\n exclude: string;\n};\n\nexport default async function compile({\n root,\n source,\n output,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n field,\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 Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(/\\.(jsx?|tsx?)$/, '.js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!/\\.(jsx?|tsx?)$/.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-env'),\n {\n targets: browserslist.findConfig(root) ?? {\n browsers: [\n '>1%',\n 'last 2 chrome versions',\n 'last 2 edge versions',\n 'last 2 firefox versions',\n 'last 2 safari versions',\n 'not dead',\n 'not ie <= 11',\n 'not op_mini all',\n 'not android <= 4.4',\n 'not samsung <= 4',\n ],\n node: '18',\n },\n useBuiltIns: false,\n modules,\n },\n ],\n require.resolve('@babel/preset-react'),\n require.resolve('@babel/preset-typescript'),\n require.resolve('@babel/preset-flow'),\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 const indexName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.js';\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 return null;\n };\n\n if (field in pkg) {\n try {\n require.resolve(path.join(root, pkg[field]));\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(field)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n pkg[field]\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 '${field}' field.`);\n }\n\n throw e;\n }\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${kleur.blue(field)} field found in ${kleur.blue(\n 'package.json'\n )}. 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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","compile","root","source","output","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","field","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeJSON","writeFile","success","getGeneratedEntryPath","indexName","potentialPath","pathExists","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 babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | false;\n field: 'main' | 'module';\n exclude: string;\n};\n\nexport default async function compile({\n root,\n source,\n output,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n field,\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 Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(/\\.(jsx?|tsx?)$/, '.js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!/\\.(jsx?|tsx?)$/.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: [[require.resolve('../../babel-preset'), { modules }]],\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 const indexName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.js';\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 return null;\n };\n\n if (field in pkg) {\n try {\n require.resolve(path.join(root, pkg[field]));\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(field)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n pkg[field]\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 '${field}' field.`);\n }\n\n throw e;\n }\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${kleur.blue(field)} field found in ${kleur.blue(\n 'package.json'\n )}. 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.23.2",
3
+ "version": "0.24.0",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -23,7 +23,8 @@
23
23
  },
24
24
  "files": [
25
25
  "bin",
26
- "lib"
26
+ "lib",
27
+ "babel-preset.js"
27
28
  ],
28
29
  "engines": {
29
30
  "node": ">= 18.0.0"
@@ -33,7 +34,13 @@
33
34
  "registry": "https://registry.npmjs.org/"
34
35
  },
35
36
  "scripts": {
36
- "prepare": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start"
37
+ "prepare": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start",
38
+ "test": "jest"
39
+ },
40
+ "jest": {
41
+ "testPathIgnorePatterns": [
42
+ "/lib/"
43
+ ]
37
44
  },
38
45
  "dependencies": {
39
46
  "@babel/core": "^7.18.5",
@@ -58,6 +65,7 @@
58
65
  },
59
66
  "devDependencies": {
60
67
  "@babel/cli": "^7.17.10",
68
+ "@jest/globals": "^29.7.0",
61
69
  "@types/babel__core": "^7.1.19",
62
70
  "@types/browserslist": "^4.15.0",
63
71
  "@types/cross-spawn": "^6.0.2",
@@ -69,7 +77,8 @@
69
77
  "@types/prompts": "^2.0.14",
70
78
  "@types/which": "^2.0.1",
71
79
  "@types/yargs": "^17.0.10",
72
- "concurrently": "^7.2.2"
80
+ "concurrently": "^7.2.2",
81
+ "jest": "^29.7.0"
73
82
  },
74
- "gitHead": "c233fed21e9a67e20207eedb84c85e9e2c0f985c"
83
+ "gitHead": "c113f4036700bf7febab59be51fed497f9c5fdbc"
75
84
  }