react-native-builder-bob 0.23.1 → 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.
- package/babel-preset.js +35 -0
- package/lib/__fixtures__/project/code/$alias-input.js +8 -0
- package/lib/__fixtures__/project/code/$alias-input.js.map +1 -0
- package/lib/__fixtures__/project/code/$alias-output.js +8 -0
- package/lib/__fixtures__/project/code/$alias-output.js.map +1 -0
- package/lib/__fixtures__/project/code/$exports-input.js +64 -0
- package/lib/__fixtures__/project/code/$exports-input.js.map +1 -0
- package/lib/__fixtures__/project/code/$exports-output.js +64 -0
- package/lib/__fixtures__/project/code/$exports-output.js.map +1 -0
- package/lib/__fixtures__/project/code/$imports-input.js +4 -0
- package/lib/__fixtures__/project/code/$imports-input.js.map +1 -0
- package/lib/__fixtures__/project/code/$imports-output.js +4 -0
- package/lib/__fixtures__/project/code/$imports-output.js.map +1 -0
- package/lib/__fixtures__/project/code/a.js +2 -0
- package/lib/__fixtures__/project/code/a.js.map +1 -0
- package/lib/__fixtures__/project/code/b.js +2 -0
- package/lib/__fixtures__/project/code/b.js.map +1 -0
- package/lib/__fixtures__/project/code/e.story.js +2 -0
- package/lib/__fixtures__/project/code/e.story.js.map +1 -0
- package/lib/__fixtures__/project/f.js +2 -0
- package/lib/__fixtures__/project/f.js.map +1 -0
- package/lib/__fixtures__/project/index.js +2 -0
- package/lib/__fixtures__/project/index.js.map +1 -0
- package/lib/__tests__/index.test.js +37 -0
- package/lib/__tests__/index.test.js.map +1 -0
- package/lib/babel.js +103 -0
- package/lib/babel.js.map +1 -0
- package/lib/index.js +1 -3
- package/lib/index.js.map +1 -1
- package/lib/utils/compile.js +2 -8
- package/lib/utils/compile.js.map +1 -1
- package/lib/utils/logger.js.map +1 -1
- package/package.json +14 -5
package/babel-preset.js
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"a.js","names":[],"sources":["../../../../src/__fixtures__/project/code/a.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b.js","names":[],"sources":["../../../../src/__fixtures__/project/code/b.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e.story.js","names":[],"sources":["../../../../src/__fixtures__/project/code/e.story.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"f.js","names":[],"sources":["../../../src/__fixtures__/project/f.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -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
|
package/lib/babel.js.map
ADDED
|
@@ -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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"}
|
package/lib/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var _typescript = _interopRequireDefault(require("./targets/typescript"));
|
|
|
15
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
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
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
// eslint-disable-next-line import/no-commonjs
|
|
18
|
+
// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires
|
|
19
19
|
const {
|
|
20
20
|
name,
|
|
21
21
|
version
|
|
@@ -25,8 +25,6 @@ const explorer = (0, _cosmiconfig.cosmiconfigSync)(name, {
|
|
|
25
25
|
searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs']
|
|
26
26
|
});
|
|
27
27
|
const FLOW_PRGAMA_REGEX = /\*?\s*@(flow)\b/m;
|
|
28
|
-
|
|
29
|
-
// eslint-disable-next-line babel/no-unused-expressions
|
|
30
28
|
_yargs.default.command('init', 'configure the package to use bob', {}, async () => {
|
|
31
29
|
if ((0, _isGitDirty.default)()) {
|
|
32
30
|
const {
|
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","cosmiconfigSync","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","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","scripts","stringify","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 { cosmiconfigSync } 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\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs'],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\n// eslint-disable-next-line babel/no-unused-expressions\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. You should commit or stash your changes before configuring bob. 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}'. Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n const result = 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. 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}'. 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: { [key: string]: string } = {\n 'main': target\n ? path.join(output, target, 'index.js')\n : path.join(source, entryFile),\n 'react-native': path.join(source, entryFile),\n 'source': path.join(source, entryFile),\n };\n\n if (targets.includes('module')) {\n entries.module = path.join(output, 'module', 'index.js');\n }\n\n if (targets.includes('typescript')) {\n entries.types = path.join(output, 'typescript', source, 'index.d.ts');\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. 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',\n lib: ['esnext'],\n module: 'esnext',\n moduleResolution: 'node',\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];\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]}'. 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 (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}'. 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. 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 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 = 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","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","cosmiconfigSync","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","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","scripts","stringify","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 { cosmiconfigSync } 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 = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs'],\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. You should commit or stash your changes before configuring bob. 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}'. Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n const result = 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. 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}'. 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: { [key: string]: string } = {\n 'main': target\n ? path.join(output, target, 'index.js')\n : path.join(source, entryFile),\n 'react-native': path.join(source, entryFile),\n 'source': path.join(source, entryFile),\n };\n\n if (targets.includes('module')) {\n entries.module = path.join(output, 'module', 'index.js');\n }\n\n if (targets.includes('typescript')) {\n entries.types = path.join(output, 'typescript', source, 'index.d.ts');\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. 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',\n lib: ['esnext'],\n module: 'esnext',\n moduleResolution: 'node',\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];\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]}'. 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 (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}'. 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. 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 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 = 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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"}
|
package/lib/utils/compile.js
CHANGED
|
@@ -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('
|
|
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
|
-
}]
|
|
61
|
+
}]]
|
|
68
62
|
})
|
|
69
63
|
});
|
|
70
64
|
if (result == null) {
|
package/lib/utils/compile.js.map
CHANGED
|
@@ -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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAwB,SAAAO,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,SAAAJ,wBAAAQ,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,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAnB,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAaT,eAAeiB,OAAOA,CAAC;EACpCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO,GAAG,KAAK;EACfC,UAAU,GAAG,KAAK;EAClBC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,UAAU,GAAG,IAAI;EACjBC,MAAM;EACNC;AACO,CAAC,EAAE;EACV,MAAMC,KAAK,GAAGC,aAAI,CAACC,IAAI,CAAC,MAAM,EAAE;IAC9BC,GAAG,EAAEb,MAAM;IACXc,QAAQ,EAAE,IAAI;IACdC,KAAK,EAAE,IAAI;IACXC,MAAM,EAAEZ;EACV,CAAC,CAAC;EAEFI,MAAM,CAACS,IAAI,CACR,aAAYC,cAAK,CAACC,IAAI,CAACC,MAAM,CAACV,KAAK,CAACW,MAAM,CAAC,CAAE,aAAYH,cAAK,CAACC,IAAI,CAClEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEC,MAAM,CAC5B,CAAE,SAAQkB,cAAK,CAACC,IAAI,CAAC,OAAO,CAAE,EAChC,CAAC;EAED,MAAMK,GAAG,GAAGC,IAAI,CAACC,KAAK,CACpB,MAAMC,gBAAE,CAACC,QAAQ,CAACN,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAC5D,CAAC;EAED,IAAIO,QAAQ,EAAE;IACZ,IAAI,CAACjB,MAAM,CAACyC,IAAI,CAACN,GAAG,CAACO,eAAe,IAAI,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;MAChExB,MAAM,CAACyB,IAAI,CACR,OAAMf,cAAK,CAACC,IAAI,CACf,UACF,CAAE,4CAA2CD,cAAK,CAACC,IAAI,CACrD,UACF,CAAE,OAAMD,cAAK,CAACC,IAAI,CAChB,cACF,CAAE,8BAA6BD,cAAK,CAACC,IAAI,CACvC,MACF,CAAE,mCAAkCD,cAAK,CAACC,IAAI,CAC5C,UACF,CAAE,YAAWD,cAAK,CAACC,IAAI,CACrB,iBACF,CAAE,0BAAyBD,cAAK,CAACC,IAAI,CAAC,UAAU,CAAE,UACpD,CAAC;IACH;EACF;EAEA,MAAMe,OAAO,CAACC,GAAG,CACfzB,KAAK,CAAC0B,GAAG,CAAC,MAAOC,QAAQ,IAAK;IAC5B,MAAMC,cAAc,GAAGhB,aAAI,CACxBO,IAAI,CAAC5B,MAAM,EAAEqB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEqC,QAAQ,CAAC,CAAC,CAC7CE,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;IAEnC,MAAMZ,gBAAE,CAACa,MAAM,CAAClB,aAAI,CAACmB,OAAO,CAACH,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,gBAAgB,CAACI,IAAI,CAACL,QAAQ,CAAC,EAAE;MACpC;MACAV,gBAAE,CAACgB,IAAI,CAACN,QAAQ,EAAEC,cAAc,CAAC;MACjC;IACF;IAEA,MAAMM,OAAO,GAAG,MAAMjB,gBAAE,CAACC,QAAQ,CAACS,QAAQ,EAAE,OAAO,CAAC;IACpD,MAAMQ,MAAM,GAAG,MAAMzE,KAAK,CAAC0E,cAAc,CAACF,OAAO,EAAE;MACjD/B,GAAG,EAAEd,IAAI;MACTG,OAAO,EAAEA,OAAO;MAChBC,UAAU,EAAEA,UAAU;MACtBI,UAAU;MACVwC,UAAU,EAAEzB,aAAI,CAACC,QAAQ,CAACD,aAAI,CAACmB,OAAO,CAACH,cAAc,CAAC,EAAEtC,MAAM,CAAC;MAC/DgD,cAAc,EAAE1B,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEqC,QAAQ,CAAC;MAC/CY,QAAQ,EAAEZ,QAAQ;MAClB,IAAInC,OAAO,IAAIC,UAAU,GACrB,IAAI,GACJ;QACE+C,OAAO,EAAE,CACP,CACEjF,OAAO,CAACkF,OAAO,CAAC,mBAAmB,CAAC,EACpC;UACEC,OAAO,EAAEC,qBAAY,CAACC,UAAU,CAACvD,IAAI,CAAC,IAAI;YACxCwD,QAAQ,EAAE,CACR,KAAK,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,CACnB;YACDC,IAAI,EAAE;UACR,CAAC;UACDC,WAAW,EAAE,KAAK;UAClBpD;QACF,CAAC,CACF,EACDpC,OAAO,CAACkF,OAAO,CAAC,qBAAqB,CAAC,EACtClF,OAAO,CAACkF,OAAO,CAAC,0BAA0B,CAAC,EAC3ClF,OAAO,CAACkF,OAAO,CAAC,oBAAoB,CAAC;MAEzC,CAAC;IACP,CAAC,CAAC;IAEF,IAAIN,MAAM,IAAI,IAAI,EAAE;MAClB,MAAM,IAAIa,KAAK,CAAC,sBAAsB,CAAC;IACzC;IAEA,IAAIC,IAAI,GAAGd,MAAM,CAACc,IAAI;IAEtB,IAAIpD,UAAU,IAAIsC,MAAM,CAACT,GAAG,EAAE;MAC5B,MAAMwB,WAAW,GAAGtB,cAAc,GAAG,MAAM;MAE3CqB,IAAI,IAAI,yBAAyB,GAAGrC,aAAI,CAACuC,QAAQ,CAACD,WAAW,CAAC;;MAE9D;MACAf,MAAM,CAACT,GAAG,CAAC0B,cAAc,GAAGC,SAAS;MAErC,MAAMpC,gBAAE,CAACqC,SAAS,CAACJ,WAAW,EAAEf,MAAM,CAACT,GAAG,CAAC;IAC7C;IAEA,MAAMT,gBAAE,CAACsC,SAAS,CAAC3B,cAAc,EAAEqB,IAAI,CAAC;IAExC,IAAIrD,QAAQ,EAAE;MACZqB,gBAAE,CAACgB,IAAI,CAACN,QAAQ,EAAEC,cAAc,GAAG,OAAO,CAAC;IAC7C;EACF,CAAC,CACH,CAAC;EAED9B,MAAM,CAAC0D,OAAO,CAAE,kBAAiBhD,cAAK,CAACC,IAAI,CAACG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAAC,CAAE,EAAC,CAAC;EAE3E,MAAMkE,qBAAqB,GAAG,MAAAA,CAAA,KAAY;IACxC,IAAI3C,GAAG,CAACxB,MAAM,EAAE;MACd,MAAMoE,SAAS,GACb9C,aAAI,CAACuC,QAAQ,CAACrC,GAAG,CAACxB,MAAM,CAAC,CAACuC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,KAAK;MAEjE,MAAM8B,aAAa,GAAG/C,aAAI,CAACO,IAAI,CAC7B5B,MAAM,EACNqB,aAAI,CAACmB,OAAO,CAACnB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEsB,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEyB,GAAG,CAACxB,MAAM,CAAC,CAAC,CAAC,EAChEoE,SACF,CAAC;MAED,IAAI,MAAMzC,gBAAE,CAAC2C,UAAU,CAACD,aAAa,CAAC,EAAE;QACtC,OAAO/C,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEsE,aAAa,CAAC;MAC3C;IACF;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAI5D,KAAK,IAAIe,GAAG,EAAE;IAChB,IAAI;MACFvD,OAAO,CAACkF,OAAO,CAAC7B,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEyB,GAAG,CAACf,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAO8D,CAAU,EAAE;MACnB,IACEA,CAAC,IAAI,IAAI,IACT,OAAOA,CAAC,KAAK,QAAQ,IACrB,MAAM,IAAIA,CAAC,IACXA,CAAC,CAACZ,IAAI,KAAK,kBAAkB,EAC7B;QACA,MAAMa,kBAAkB,GAAG,MAAML,qBAAqB,CAAC,CAAC;QAExD,IAAI,CAACK,kBAAkB,EAAE;UACvBhE,MAAM,CAACyB,IAAI,CACR,wFAAuFf,cAAK,CAACC,IAAI,CAChG,QACF,CAAE,kBAAiBD,cAAK,CAACC,IAAI,CAAC,cAAc,CAAE,GAChD,CAAC;QACH;QAEAX,MAAM,CAACiE,KAAK,CACT,OAAMvD,cAAK,CAACC,IAAI,CAACV,KAAK,CAAE,aAAYS,cAAK,CAACC,IAAI,CAC7C,cACF,CAAE,mCAAkCD,cAAK,CAACC,IAAI,CAC5CK,GAAG,CAACf,KAAK,CACX,CAAE,uDAAsDS,cAAK,CAACC,IAAI,CAChEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAC5B,CAAE,GACAuE,kBAAkB,GACb,WAAUtD,cAAK,CAACC,IAAI,CAACqD,kBAAkB,CAAE,IAAG,GAC7C,GACL,EACH,CAAC;QAED,MAAM,IAAId,KAAK,CAAE,4BAA2BjD,KAAM,UAAS,CAAC;MAC9D;MAEA,MAAM8D,CAAC;IACT;EACF,CAAC,MAAM;IACL,MAAMC,kBAAkB,GAAG,MAAML,qBAAqB,CAAC,CAAC;IAExD3D,MAAM,CAACyB,IAAI,CACR,MAAKf,cAAK,CAACC,IAAI,CAACV,KAAK,CAAE,mBAAkBS,cAAK,CAACC,IAAI,CAClD,cACF,CAAE,cACAqD,kBAAkB,GACb,kBAAiBtD,cAAK,CAACC,IAAI,CAACqD,kBAAkB,CAAE,EAAC,GAClD,WACL,gDACH,CAAC;EACH;AACF"}
|
|
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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAwB,SAAAM,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,SAAAH,wBAAAO,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,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAlB,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAaT,eAAeiB,OAAOA,CAAC;EACpCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO,GAAG,KAAK;EACfC,UAAU,GAAG,KAAK;EAClBC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,UAAU,GAAG,IAAI;EACjBC,MAAM;EACNC;AACO,CAAC,EAAE;EACV,MAAMC,KAAK,GAAGC,aAAI,CAACC,IAAI,CAAC,MAAM,EAAE;IAC9BC,GAAG,EAAEb,MAAM;IACXc,QAAQ,EAAE,IAAI;IACdC,KAAK,EAAE,IAAI;IACXC,MAAM,EAAEZ;EACV,CAAC,CAAC;EAEFI,MAAM,CAACS,IAAI,CACR,aAAYC,cAAK,CAACC,IAAI,CAACC,MAAM,CAACV,KAAK,CAACW,MAAM,CAAC,CAAE,aAAYH,cAAK,CAACC,IAAI,CAClEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEC,MAAM,CAC5B,CAAE,SAAQkB,cAAK,CAACC,IAAI,CAAC,OAAO,CAAE,EAChC,CAAC;EAED,MAAMK,GAAG,GAAGC,IAAI,CAACC,KAAK,CACpB,MAAMC,gBAAE,CAACC,QAAQ,CAACN,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAC5D,CAAC;EAED,IAAIO,QAAQ,EAAE;IACZ,IAAI,CAACjB,MAAM,CAACyC,IAAI,CAACN,GAAG,CAACO,eAAe,IAAI,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;MAChExB,MAAM,CAACyB,IAAI,CACR,OAAMf,cAAK,CAACC,IAAI,CACf,UACF,CAAE,4CAA2CD,cAAK,CAACC,IAAI,CACrD,UACF,CAAE,OAAMD,cAAK,CAACC,IAAI,CAChB,cACF,CAAE,8BAA6BD,cAAK,CAACC,IAAI,CACvC,MACF,CAAE,mCAAkCD,cAAK,CAACC,IAAI,CAC5C,UACF,CAAE,YAAWD,cAAK,CAACC,IAAI,CACrB,iBACF,CAAE,0BAAyBD,cAAK,CAACC,IAAI,CAAC,UAAU,CAAE,UACpD,CAAC;IACH;EACF;EAEA,MAAMe,OAAO,CAACC,GAAG,CACfzB,KAAK,CAAC0B,GAAG,CAAC,MAAOC,QAAQ,IAAK;IAC5B,MAAMC,cAAc,GAAGhB,aAAI,CACxBO,IAAI,CAAC5B,MAAM,EAAEqB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEqC,QAAQ,CAAC,CAAC,CAC7CE,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;IAEnC,MAAMZ,gBAAE,CAACa,MAAM,CAAClB,aAAI,CAACmB,OAAO,CAACH,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,gBAAgB,CAACI,IAAI,CAACL,QAAQ,CAAC,EAAE;MACpC;MACAV,gBAAE,CAACgB,IAAI,CAACN,QAAQ,EAAEC,cAAc,CAAC;MACjC;IACF;IAEA,MAAMM,OAAO,GAAG,MAAMjB,gBAAE,CAACC,QAAQ,CAACS,QAAQ,EAAE,OAAO,CAAC;IACpD,MAAMQ,MAAM,GAAG,MAAMxE,KAAK,CAACyE,cAAc,CAACF,OAAO,EAAE;MACjD/B,GAAG,EAAEd,IAAI;MACTG,OAAO,EAAEA,OAAO;MAChBC,UAAU,EAAEA,UAAU;MACtBI,UAAU;MACVwC,UAAU,EAAEzB,aAAI,CAACC,QAAQ,CAACD,aAAI,CAACmB,OAAO,CAACH,cAAc,CAAC,EAAEtC,MAAM,CAAC;MAC/DgD,cAAc,EAAE1B,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEqC,QAAQ,CAAC;MAC/CY,QAAQ,EAAEZ,QAAQ;MAClB,IAAInC,OAAO,IAAIC,UAAU,GACrB,IAAI,GACJ;QACE+C,OAAO,EAAE,CAAC,CAAChF,OAAO,CAACiF,OAAO,CAAC,oBAAoB,CAAC,EAAE;UAAE9C;QAAQ,CAAC,CAAC;MAChE,CAAC;IACP,CAAC,CAAC;IAEF,IAAIwC,MAAM,IAAI,IAAI,EAAE;MAClB,MAAM,IAAIO,KAAK,CAAC,sBAAsB,CAAC;IACzC;IAEA,IAAIC,IAAI,GAAGR,MAAM,CAACQ,IAAI;IAEtB,IAAI9C,UAAU,IAAIsC,MAAM,CAACT,GAAG,EAAE;MAC5B,MAAMkB,WAAW,GAAGhB,cAAc,GAAG,MAAM;MAE3Ce,IAAI,IAAI,yBAAyB,GAAG/B,aAAI,CAACiC,QAAQ,CAACD,WAAW,CAAC;;MAE9D;MACAT,MAAM,CAACT,GAAG,CAACoB,cAAc,GAAGC,SAAS;MAErC,MAAM9B,gBAAE,CAAC+B,SAAS,CAACJ,WAAW,EAAET,MAAM,CAACT,GAAG,CAAC;IAC7C;IAEA,MAAMT,gBAAE,CAACgC,SAAS,CAACrB,cAAc,EAAEe,IAAI,CAAC;IAExC,IAAI/C,QAAQ,EAAE;MACZqB,gBAAE,CAACgB,IAAI,CAACN,QAAQ,EAAEC,cAAc,GAAG,OAAO,CAAC;IAC7C;EACF,CAAC,CACH,CAAC;EAED9B,MAAM,CAACoD,OAAO,CAAE,kBAAiB1C,cAAK,CAACC,IAAI,CAACG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAAC,CAAE,EAAC,CAAC;EAE3E,MAAM4D,qBAAqB,GAAG,MAAAA,CAAA,KAAY;IACxC,IAAIrC,GAAG,CAACxB,MAAM,EAAE;MACd,MAAM8D,SAAS,GACbxC,aAAI,CAACiC,QAAQ,CAAC/B,GAAG,CAACxB,MAAM,CAAC,CAACuC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,KAAK;MAEjE,MAAMwB,aAAa,GAAGzC,aAAI,CAACO,IAAI,CAC7B5B,MAAM,EACNqB,aAAI,CAACmB,OAAO,CAACnB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEsB,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEyB,GAAG,CAACxB,MAAM,CAAC,CAAC,CAAC,EAChE8D,SACF,CAAC;MAED,IAAI,MAAMnC,gBAAE,CAACqC,UAAU,CAACD,aAAa,CAAC,EAAE;QACtC,OAAOzC,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEgE,aAAa,CAAC;MAC3C;IACF;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAItD,KAAK,IAAIe,GAAG,EAAE;IAChB,IAAI;MACFtD,OAAO,CAACiF,OAAO,CAAC7B,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEyB,GAAG,CAACf,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOwD,CAAU,EAAE;MACnB,IACEA,CAAC,IAAI,IAAI,IACT,OAAOA,CAAC,KAAK,QAAQ,IACrB,MAAM,IAAIA,CAAC,IACXA,CAAC,CAACZ,IAAI,KAAK,kBAAkB,EAC7B;QACA,MAAMa,kBAAkB,GAAG,MAAML,qBAAqB,CAAC,CAAC;QAExD,IAAI,CAACK,kBAAkB,EAAE;UACvB1D,MAAM,CAACyB,IAAI,CACR,wFAAuFf,cAAK,CAACC,IAAI,CAChG,QACF,CAAE,kBAAiBD,cAAK,CAACC,IAAI,CAAC,cAAc,CAAE,GAChD,CAAC;QACH;QAEAX,MAAM,CAAC2D,KAAK,CACT,OAAMjD,cAAK,CAACC,IAAI,CAACV,KAAK,CAAE,aAAYS,cAAK,CAACC,IAAI,CAC7C,cACF,CAAE,mCAAkCD,cAAK,CAACC,IAAI,CAC5CK,GAAG,CAACf,KAAK,CACX,CAAE,uDAAsDS,cAAK,CAACC,IAAI,CAChEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAC5B,CAAE,GACAiE,kBAAkB,GACb,WAAUhD,cAAK,CAACC,IAAI,CAAC+C,kBAAkB,CAAE,IAAG,GAC7C,GACL,EACH,CAAC;QAED,MAAM,IAAId,KAAK,CAAE,4BAA2B3C,KAAM,UAAS,CAAC;MAC9D;MAEA,MAAMwD,CAAC;IACT;EACF,CAAC,MAAM;IACL,MAAMC,kBAAkB,GAAG,MAAML,qBAAqB,CAAC,CAAC;IAExDrD,MAAM,CAACyB,IAAI,CACR,MAAKf,cAAK,CAACC,IAAI,CAACV,KAAK,CAAE,mBAAkBS,cAAK,CAACC,IAAI,CAClD,cACF,CAAE,cACA+C,kBAAkB,GACb,kBAAiBhD,cAAK,CAACC,IAAI,CAAC+C,kBAAkB,CAAE,EAAC,GAClD,WACL,gDACH,CAAC;EACH;AACF"}
|
package/lib/utils/logger.js.map
CHANGED
|
@@ -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:
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.
|
|
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": "
|
|
83
|
+
"gitHead": "c113f4036700bf7febab59be51fed497f9c5fdbc"
|
|
75
84
|
}
|