react-native-builder-bob 0.40.9 → 0.40.11
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 +3 -1
- package/bin/bob +0 -1
- package/lib/__fixtures__/project/MyNativeComponent.js +6 -0
- package/lib/__fixtures__/project/MyNativeComponent.js.map +1 -1
- package/lib/__fixtures__/project/code/$exports-output.js +12 -12
- package/lib/__fixtures__/project/code/$exports-output.js.map +1 -1
- package/lib/__fixtures__/project/code/$imports-output.js +2 -6
- package/lib/__fixtures__/project/code/$imports-output.js.map +1 -1
- package/lib/__fixtures__/project/code/MyNativeComponent.js +6 -0
- package/lib/__fixtures__/project/code/MyNativeComponent.js.map +1 -1
- package/lib/__tests__/init.test.js +16 -7
- package/lib/__tests__/init.test.js.map +1 -1
- package/lib/build.js +4 -1
- package/lib/build.js.map +1 -1
- package/lib/index.js +1 -3
- package/lib/index.js.map +1 -1
- package/lib/init.js +7 -2
- package/lib/init.js.map +1 -1
- package/lib/schema.js.map +1 -1
- package/lib/targets/codegen/patches/removeCodegenAppLevelCode.js +2 -2
- package/lib/targets/codegen/patches/removeCodegenAppLevelCode.js.map +1 -1
- package/lib/targets/typescript.js +2 -2
- package/lib/targets/typescript.js.map +1 -1
- package/lib/utils/compile.js +14 -12
- package/lib/utils/compile.js.map +1 -1
- package/lib/utils/isCodegenSpec.js +15 -4
- package/lib/utils/isCodegenSpec.js.map +1 -1
- package/lib/utils/prompts.js +1 -1
- package/lib/utils/prompts.js.map +1 -1
- package/lib/utils/spawn.js +1 -1
- package/lib/utils/spawn.js.map +1 -1
- package/lib/utils/workerize.js +3 -2
- package/lib/utils/workerize.js.map +1 -1
- package/metro-config.js +4 -1
- package/package.json +2 -2
package/babel-preset.js
CHANGED
|
@@ -11,9 +11,11 @@ const browserslist = require('browserslist');
|
|
|
11
11
|
*/
|
|
12
12
|
module.exports = function (api, options, cwd) {
|
|
13
13
|
const opt = (name) =>
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
14
15
|
options[name] !== undefined
|
|
15
16
|
? options[name]
|
|
16
|
-
:
|
|
17
|
+
: // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18
|
+
api.caller((caller) => (caller != null ? caller[name] : undefined));
|
|
17
19
|
|
|
18
20
|
const supportsStaticESM = opt('supportsStaticESM');
|
|
19
21
|
const rewriteImportExtensions = opt('rewriteImportExtensions');
|
package/bin/bob
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyNativeComponent.js","names":[],"sources":["../../../src/__fixtures__/project/MyNativeComponent.tsx"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MyNativeComponent.js","names":["codegenNativeComponent"],"sources":["../../../src/__fixtures__/project/MyNativeComponent.tsx"],"sourcesContent":["export default codegenNativeComponent<NativeProps>('Test');\n"],"mappings":";;;;;;iCAAeA,sBAAsB,CAAc,MAAM,CAAC","ignoreList":[]}
|
|
@@ -17,10 +17,10 @@ var _exportNames = {
|
|
|
17
17
|
pax: true,
|
|
18
18
|
a1: true,
|
|
19
19
|
NativeLibA: true,
|
|
20
|
-
NativeLibB: true,
|
|
21
20
|
NativeLibC: true,
|
|
22
|
-
NativeLibD: true,
|
|
23
21
|
NativeLibE: true,
|
|
22
|
+
NativeLibB: true,
|
|
23
|
+
NativeLibD: true,
|
|
24
24
|
NativeLibF: true,
|
|
25
25
|
NativeLibG: true,
|
|
26
26
|
NativeLibH: true,
|
|
@@ -75,18 +75,18 @@ exports.pac = _pac;
|
|
|
75
75
|
exports.pak = _pac;
|
|
76
76
|
exports.pax = _pac;
|
|
77
77
|
var _a3 = require("./a.mjs");
|
|
78
|
-
var _NativeLibA = _interopRequireWildcard(require("./NativeMyLib"));
|
|
78
|
+
var _NativeLibA = _interopRequireWildcard(require("./NativeMyLib.mjs"));
|
|
79
|
+
var _NativeLibC = _NativeLibA;
|
|
80
|
+
var _NativeLibE = _NativeLibA;
|
|
79
81
|
exports.NativeLibA = _NativeLibA;
|
|
80
|
-
|
|
82
|
+
exports.NativeLibC = _NativeLibA;
|
|
83
|
+
exports.NativeLibE = _NativeLibA;
|
|
84
|
+
var _NativeLibB = _interopRequireWildcard(require("../NativeMyLib.mjs"));
|
|
85
|
+
var _NativeLibD = _NativeLibB;
|
|
86
|
+
var _NativeLibF = _NativeLibB;
|
|
81
87
|
exports.NativeLibB = _NativeLibB;
|
|
82
|
-
|
|
83
|
-
exports.
|
|
84
|
-
var _NativeLibD = _interopRequireWildcard(require("../NativeMyLib.ts"));
|
|
85
|
-
exports.NativeLibD = _NativeLibD;
|
|
86
|
-
var _NativeLibE = _interopRequireWildcard(require("./NativeMyLib.tsx"));
|
|
87
|
-
exports.NativeLibE = _NativeLibE;
|
|
88
|
-
var _NativeLibF = _interopRequireWildcard(require("../NativeMyLib.tsx"));
|
|
89
|
-
exports.NativeLibF = _NativeLibF;
|
|
88
|
+
exports.NativeLibD = _NativeLibB;
|
|
89
|
+
exports.NativeLibF = _NativeLibB;
|
|
90
90
|
var _NativeLibG = _interopRequireWildcard(require("./NativeMyLib.js"));
|
|
91
91
|
exports.NativeLibG = _NativeLibG;
|
|
92
92
|
var _NativeLibH = _interopRequireWildcard(require("../NativeMyLib.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$exports-output.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","_pak","_pax","pac","pak","pax","_a3","_NativeLibA","
|
|
1
|
+
{"version":3,"file":"$exports-output.js","names":["_b","_interopRequireWildcard","require","exports","b","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_c","c","_d","d","_e","e","_f","f","_pac","_pak","_pax","pac","pak","pax","_a3","_NativeLibA","_NativeLibC","_NativeLibE","NativeLibA","NativeLibC","NativeLibE","_NativeLibB","_NativeLibD","_NativeLibF","NativeLibB","NativeLibD","NativeLibF","_NativeLibG","NativeLibG","_NativeLibH","NativeLibH","_NativeLibI","NativeLibI","_NativeLibJ","NativeLibJ","_NativeViewA","NativeViewA","_NativeViewB","NativeViewB","_NativeViewC","NativeViewC","_NativeViewD","NativeViewD","_NativeViewE","NativeViewE","_NativeViewF","NativeViewF","_NativeViewG","NativeViewG","_NativeViewH","NativeViewH","_NativeViewI","NativeViewI","_NativeViewJ","NativeViewJ","_getRequireWildcardCache","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","foo","bar"],"sources":["../../../../src/__fixtures__/project/code/$exports-output.ts"],"sourcesContent":["export * as a from \"a\";\nexport * as b from \"./b.mjs\";\nexport * as c from \"./c.mjs\";\nexport * as d from \"./d\";\nexport * as e from \"./e.story.mjs\";\nexport * as f from \"../f.mjs\";\nexport * as pac from \"../index.mjs\";\nexport * as pak from \"../index.mjs\";\nexport * as pax from \"../index.mjs\";\nexport { a as a1 } from \"./a.mjs\";\nexport * from \"./b.mjs\";\nexport type { A } from \"./a\";\nexport const foo = \"foo\";\nconst bar = \"bar\";\nexport { bar };\nexport * as NativeLibA from \"./NativeMyLib.mjs\";\nexport * as NativeLibB from \"../NativeMyLib.mjs\";\nexport * as NativeLibC from \"./NativeMyLib.mjs\";\nexport * as NativeLibD from \"../NativeMyLib.mjs\";\nexport * as NativeLibE from \"./NativeMyLib.mjs\";\nexport * as NativeLibF from \"../NativeMyLib.mjs\";\nexport * as NativeLibG from \"./NativeMyLib.js\";\nexport * as NativeLibH from \"../NativeMyLib.js\";\nexport * as NativeLibI from \"./NativeMyLib.jsx\";\nexport * as NativeLibJ from \"../NativeMyLib.jsx\";\nexport * as NativeViewA from \"./MyNativeComponent\";\nexport * as NativeViewB from \"../MyNativeComponent\";\nexport * as NativeViewC from \"./MyNativeComponent.ts\";\nexport * as NativeViewD from \"../MyNativeComponent.ts\";\nexport * as NativeViewE from \"./MyNativeComponent.tsx\";\nexport * as NativeViewF from \"../MyNativeComponent.tsx\";\nexport * as NativeViewG from \"./MyNativeComponent.js\";\nexport * as NativeViewH from \"../MyNativeComponent.js\";\nexport * as NativeViewI from \"./MyNativeComponent.jsx\";\nexport * as NativeViewJ from \"../MyNativeComponent.jsx\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("./a.mjs");
|
|
4
|
-
require("./NativeMyLib");
|
|
5
|
-
require("../NativeMyLib");
|
|
6
|
-
require("./NativeMyLib.ts");
|
|
7
|
-
require("../NativeMyLib.ts");
|
|
8
|
-
require("./NativeMyLib.tsx");
|
|
9
|
-
require("../NativeMyLib.tsx");
|
|
4
|
+
require("./NativeMyLib.mjs");
|
|
5
|
+
require("../NativeMyLib.mjs");
|
|
10
6
|
require("./NativeMyLib.js");
|
|
11
7
|
require("../NativeMyLib.js");
|
|
12
8
|
require("./NativeMyLib.jsx");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$imports-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-output.ts"],"sourcesContent":["import \"./a.mjs\";\nimport a from \"a\";\nimport b from \"./b.mjs\";\nimport c from \"./c.mjs\";\nimport d from \"./d\";\nimport e from \"./e.story.mjs\";\nimport f from \"../f.mjs\";\nimport pac from \"../index.mjs\";\nimport pak from \"../index.mjs\";\nimport pax from \"../index.mjs\";\nimport { a as a1 } from \"./a.mjs\";\nimport * as b1 from \"./b.mjs\";\nimport something, { c as c1 } from \"./c.mjs\";\nimport type { A } from \"./a\";\nimport \"./NativeMyLib\";\nimport \"../NativeMyLib\";\nimport \"./NativeMyLib.
|
|
1
|
+
{"version":3,"file":"$imports-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$imports-output.ts"],"sourcesContent":["import \"./a.mjs\";\nimport a from \"a\";\nimport b from \"./b.mjs\";\nimport c from \"./c.mjs\";\nimport d from \"./d\";\nimport e from \"./e.story.mjs\";\nimport f from \"../f.mjs\";\nimport pac from \"../index.mjs\";\nimport pak from \"../index.mjs\";\nimport pax from \"../index.mjs\";\nimport { a as a1 } from \"./a.mjs\";\nimport * as b1 from \"./b.mjs\";\nimport something, { c as c1 } from \"./c.mjs\";\nimport type { A } from \"./a\";\nimport \"./NativeMyLib.mjs\";\nimport \"../NativeMyLib.mjs\";\nimport \"./NativeMyLib.mjs\";\nimport \"../NativeMyLib.mjs\";\nimport \"./NativeMyLib.mjs\";\nimport \"../NativeMyLib.mjs\";\nimport \"./NativeMyLib.js\";\nimport \"../NativeMyLib.js\";\nimport \"./NativeMyLib.jsx\";\nimport \"../NativeMyLib.jsx\";\nimport \"./MyNativeComponent\";\nimport \"../MyNativeComponent\";\nimport \"./MyNativeComponent.ts\";\nimport \"../MyNativeComponent.ts\";\nimport \"./MyNativeComponent.tsx\";\nimport \"../MyNativeComponent.tsx\";\nimport \"./MyNativeComponent.js\";\nimport \"../MyNativeComponent.js\";\nimport \"./MyNativeComponent.jsx\";\nimport \"../MyNativeComponent.jsx\";\n"],"mappings":";;AAAAA,OAAA;AAcAA,OAAA;AACAA,OAAA;AAKAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyNativeComponent.js","names":[],"sources":["../../../../src/__fixtures__/project/code/MyNativeComponent.tsx"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MyNativeComponent.js","names":["codegenNativeComponent"],"sources":["../../../../src/__fixtures__/project/code/MyNativeComponent.tsx"],"sourcesContent":["export default codegenNativeComponent<NativeProps>('Test');\n"],"mappings":";;;;;;iCAAeA,sBAAsB,CAAc,MAAM,CAAC","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@ const waitFor = async callback => {
|
|
|
28
28
|
} catch (error) {
|
|
29
29
|
if (timeout <= 0) {
|
|
30
30
|
clearInterval(intervalId);
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
31
32
|
reject(error);
|
|
32
33
|
}
|
|
33
34
|
timeout -= interval;
|
|
@@ -55,11 +56,11 @@ const waitFor = async callback => {
|
|
|
55
56
|
_vitest.vi.restoreAllMocks();
|
|
56
57
|
});
|
|
57
58
|
(0, _vitest.test)('initializes the configuration', async () => {
|
|
58
|
-
_vitest.vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
59
|
+
const writeMock = _vitest.vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
59
60
|
process.chdir(root);
|
|
60
61
|
const run = async () => {
|
|
61
62
|
await waitFor(() => {
|
|
62
|
-
const lastCall =
|
|
63
|
+
const lastCall = writeMock.mock.lastCall;
|
|
63
64
|
if (lastCall == null) {
|
|
64
65
|
throw new Error('No output');
|
|
65
66
|
}
|
|
@@ -67,17 +68,25 @@ const waitFor = async callback => {
|
|
|
67
68
|
io?.send('y');
|
|
68
69
|
}
|
|
69
70
|
});
|
|
70
|
-
await waitFor(() =>
|
|
71
|
+
await waitFor(() => {
|
|
72
|
+
(0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where are your source files?'));
|
|
73
|
+
});
|
|
71
74
|
io?.send(enter);
|
|
72
|
-
await waitFor(() =>
|
|
75
|
+
await waitFor(() => {
|
|
76
|
+
(0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where do you want to generate the output files?'));
|
|
77
|
+
});
|
|
73
78
|
io?.send(enter);
|
|
74
|
-
await waitFor(() =>
|
|
79
|
+
await waitFor(() => {
|
|
80
|
+
(0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Which targets do you want to build?'));
|
|
81
|
+
});
|
|
75
82
|
io?.send(enter);
|
|
76
|
-
await waitFor(() =>
|
|
83
|
+
await waitFor(() => {
|
|
84
|
+
(0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching("You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root"));
|
|
85
|
+
});
|
|
77
86
|
io?.send(enter);
|
|
78
87
|
};
|
|
79
88
|
await Promise.all([run(), (0, _init.init)()]);
|
|
80
|
-
(0, _vitest.expect)(
|
|
89
|
+
(0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('configured successfully!'));
|
|
81
90
|
(0, _vitest.expect)(await (0, _fsExtra.readFile)((0, _nodePath.join)(root, 'package.json'), 'utf8')).toMatchSnapshot();
|
|
82
91
|
(0, _vitest.expect)(await (0, _fsExtra.readFile)((0, _nodePath.join)(root, 'tsconfig.json'), 'utf8')).toMatchSnapshot();
|
|
83
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.test.js","names":["_vitest","require","_fsExtra","_mockFs","_interopRequireDefault","_mockStdin","_nodePath","_init","e","__esModule","default","vi","mock","name","version","io","root","enter","waitFor","callback","interval","timeout","Promise","resolve","reject","intervalId","setInterval","clearInterval","undefined","error","beforeEach","stdin","mockFs","JSON","stringify","afterEach","restore","restoreAllMocks","test","spyOn","process","stdout","mockImplementation","chdir","run","lastCall","
|
|
1
|
+
{"version":3,"file":"init.test.js","names":["_vitest","require","_fsExtra","_mockFs","_interopRequireDefault","_mockStdin","_nodePath","_init","e","__esModule","default","vi","mock","name","version","io","root","enter","waitFor","callback","interval","timeout","Promise","resolve","reject","intervalId","setInterval","clearInterval","undefined","error","beforeEach","stdin","mockFs","JSON","stringify","afterEach","restore","restoreAllMocks","test","writeMock","spyOn","process","stdout","mockImplementation","chdir","run","lastCall","Error","String","send","expect","toHaveBeenLastCalledWith","stringMatching","all","init","readFile","join","toMatchSnapshot"],"sources":["../../src/__tests__/init.test.ts"],"sourcesContent":["import { afterEach, beforeEach, expect, test, vi } from 'vitest';\nimport { readFile } from 'fs-extra';\nimport mockFs from 'mock-fs';\nimport { stdin } from 'mock-stdin';\nimport { join } from 'node:path';\nimport { init } from '../init';\n\nvi.mock('../../package.json', () => ({\n default: {\n name: 'react-native-builder-bob',\n version: '0.5.0',\n },\n}));\n\nlet io: ReturnType<typeof stdin> | undefined;\n\nconst root = '/path/to/library';\n\nconst enter = '\\x0D';\n\nconst waitFor = async (callback: () => void) => {\n const interval = 10;\n\n let timeout = 50;\n\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n try {\n callback();\n clearInterval(intervalId);\n resolve(undefined);\n } catch (error) {\n if (timeout <= 0) {\n clearInterval(intervalId);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(error);\n }\n\n timeout -= interval;\n }\n }, interval);\n });\n};\n\nbeforeEach(() => {\n io = stdin();\n\n mockFs({\n [root]: {\n 'package.json': JSON.stringify({\n name: 'library',\n version: '1.0.0',\n }),\n 'src': {\n 'index.ts': \"export default 'hello world';\",\n },\n },\n });\n});\n\nafterEach(() => {\n io?.restore();\n mockFs.restore();\n vi.restoreAllMocks();\n});\n\ntest('initializes the configuration', async () => {\n const writeMock = vi\n .spyOn(process.stdout, 'write')\n .mockImplementation(() => true);\n\n process.chdir(root);\n\n const run = async () => {\n await waitFor(() => {\n const lastCall = writeMock.mock.lastCall;\n\n if (lastCall == null) {\n throw new Error('No output');\n }\n\n if (/The working directory is not clean/.test(String(lastCall[0]))) {\n io?.send('y');\n }\n });\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Where are your source files?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Where do you want to generate the output files?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Which targets do you want to build?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching(\n \"You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root\"\n )\n );\n });\n\n io?.send(enter);\n };\n\n await Promise.all([run(), init()]);\n\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('configured successfully!')\n );\n\n expect(await readFile(join(root, 'package.json'), 'utf8')).toMatchSnapshot();\n\n expect(await readFile(join(root, 'tsconfig.json'), 'utf8')).toMatchSnapshot();\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/build.js
CHANGED
|
@@ -60,7 +60,7 @@ async function build(argv) {
|
|
|
60
60
|
variants
|
|
61
61
|
});
|
|
62
62
|
} else {
|
|
63
|
-
await Promise.all(targets.map(target => buildTarget({
|
|
63
|
+
await Promise.all(targets.map(async target => buildTarget({
|
|
64
64
|
root,
|
|
65
65
|
target: Array.isArray(target) ? target[0] : target,
|
|
66
66
|
source,
|
|
@@ -90,6 +90,7 @@ async function buildTarget({
|
|
|
90
90
|
source: _path.default.resolve(root, source),
|
|
91
91
|
output: _path.default.resolve(root, output, target),
|
|
92
92
|
exclude,
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
93
94
|
options: options,
|
|
94
95
|
variants,
|
|
95
96
|
report
|
|
@@ -110,6 +111,7 @@ async function buildTarget({
|
|
|
110
111
|
root,
|
|
111
112
|
source: _path.default.resolve(root, source),
|
|
112
113
|
output: _path.default.resolve(root, output, 'typescript'),
|
|
114
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
113
115
|
options: options,
|
|
114
116
|
esm,
|
|
115
117
|
variants,
|
|
@@ -128,6 +130,7 @@ async function buildTarget({
|
|
|
128
130
|
await (0, _workerize.run)('custom', {
|
|
129
131
|
root,
|
|
130
132
|
source: _path.default.resolve(root, source),
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
131
134
|
options: options,
|
|
132
135
|
report
|
|
133
136
|
});
|
package/lib/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","names":["_arktype","require","_fsExtra","_interopRequireDefault","_kleur","_path","_schema","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","parsed","errors","filepath","summary","source","output","targets","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","options","undefined","find","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import { type } from 'arktype';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { config, type Config, type Target, type TargetOptions } from './schema';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const parsed = config(result.config);\n\n if (parsed instanceof type.errors) {\n throw new Error(\n `Invalid configuration in ${result.filepath}: ${parsed.summary}`\n );\n }\n\n const { source, output, targets, exclude } = parsed;\n\n const commonjs = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n });\n } else {\n await Promise.all(\n targets.map((target) =>\n buildTarget({\n root,\n target: Array.isArray(target) ? target[0] : target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget<T extends Target>({\n root,\n target,\n source,\n output,\n exclude,\n config,\n variants,\n}: {\n root: string;\n target: T;\n source: string;\n output: string;\n exclude: string;\n config: Config;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const options = config.targets\n .map((t) => (Array.isArray(t) ? t : ([t, undefined] as const)))\n .find((t) => t[0] === target)?.[1];\n\n const report = logger.grouped(target);\n\n switch (target) {\n case 'commonjs':\n case 'module':\n await run(target, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, target),\n exclude,\n options: options as TargetOptions<'commonjs' | 'module'>,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n config.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: options as TargetOptions<'typescript'>,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n root,\n source: path.resolve(root, source),\n options: options as TargetOptions<'custom'>,\n report,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(target)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"build.js","names":["_arktype","require","_fsExtra","_interopRequireDefault","_kleur","_path","_schema","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","parsed","errors","filepath","summary","source","output","targets","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","options","undefined","find","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import { type } from 'arktype';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { config, type Config, type Target, type TargetOptions } from './schema';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const parsed = config(result.config);\n\n if (parsed instanceof type.errors) {\n throw new Error(\n `Invalid configuration in ${result.filepath}: ${parsed.summary}`\n );\n }\n\n const { source, output, targets, exclude } = parsed;\n\n const commonjs = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n });\n } else {\n await Promise.all(\n targets.map(async (target) =>\n buildTarget({\n root,\n target: Array.isArray(target) ? target[0] : target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget({\n root,\n target,\n source,\n output,\n exclude,\n config,\n variants,\n}: {\n root: string;\n target: Target;\n source: string;\n output: string;\n exclude: string;\n config: Config;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const options = config.targets\n .map((t) => (Array.isArray(t) ? t : ([t, undefined] as const)))\n .find((t) => t[0] === target)?.[1];\n\n const report = logger.grouped(target);\n\n switch (target) {\n case 'commonjs':\n case 'module':\n await run(target, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, target),\n exclude,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'commonjs' | 'module'>,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n config.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'typescript'>,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n root,\n source: path.resolve(root, source),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'custom'>,\n report,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(target)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
CHANGED
|
@@ -11,7 +11,5 @@ const args = {
|
|
|
11
11
|
choices: ['commonjs', 'module', 'typescript', 'codegen']
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
16
|
-
_yargs.default.command('init', 'configure the package to use bob', {}, _init.init).command('build', 'build files for publishing', args, _build.build).demandCommand().recommendCommands().strict().argv;
|
|
14
|
+
void _yargs.default.command('init', 'configure the package to use bob', {}, _init.init).command('build', 'build files for publishing', args, _build.build).demandCommand().recommendCommands().strict().argv;
|
|
17
15
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './schema';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\
|
|
1
|
+
{"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './schema';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\nvoid yargs\n .command('init', 'configure the package to use bob', {}, init)\n .command('build', 'build files for publishing', args, build)\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAA8B,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9B,MAAMG,IAAI,GAAG;EACXC,MAAM,EAAE;IACNC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,qBAAqB;IAClCC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS;EACzD;AACF,CAA0C;AAE1C,KAAKC,cAAK,CACPC,OAAO,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAEC,UAAI,CAAC,CAC7DD,OAAO,CAAC,OAAO,EAAE,4BAA4B,EAAEN,IAAI,EAAEQ,YAAK,CAAC,CAC3DC,aAAa,CAAC,CAAC,CACfC,iBAAiB,CAAC,CAAC,CACnBC,MAAM,CAAC,CAAC,CAACC,IAAI","ignoreList":[]}
|
package/lib/init.js
CHANGED
|
@@ -48,6 +48,8 @@ async function init() {
|
|
|
48
48
|
process.exit(0);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
51
53
|
const {
|
|
52
54
|
source
|
|
53
55
|
} = await (0, _prompts.default)({
|
|
@@ -102,6 +104,8 @@ async function init() {
|
|
|
102
104
|
initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin')
|
|
103
105
|
});
|
|
104
106
|
}
|
|
107
|
+
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
105
109
|
const {
|
|
106
110
|
output,
|
|
107
111
|
targets,
|
|
@@ -242,6 +246,7 @@ async function init() {
|
|
|
242
246
|
}
|
|
243
247
|
}
|
|
244
248
|
for (const key in entryFields) {
|
|
249
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
245
250
|
const entry = entryFields[key];
|
|
246
251
|
if (pkg[key] && pkg[key] !== entry) {
|
|
247
252
|
const {
|
|
@@ -249,7 +254,7 @@ async function init() {
|
|
|
249
254
|
} = await (0, _prompts.default)({
|
|
250
255
|
type: 'confirm',
|
|
251
256
|
name: 'replace',
|
|
252
|
-
message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\n Do you want to replace it with '${entry}'?`,
|
|
257
|
+
message: `Your package.json has the '${key}' field set to '${String(pkg[key])}'.\n Do you want to replace it with '${String(entry)}'?`,
|
|
253
258
|
initial: true
|
|
254
259
|
});
|
|
255
260
|
if (replace) {
|
|
@@ -278,7 +283,7 @@ async function init() {
|
|
|
278
283
|
} = await (0, _prompts.default)({
|
|
279
284
|
type: 'confirm',
|
|
280
285
|
name: 'replace',
|
|
281
|
-
message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\n Do you want to replace it with '${prepare}'?`,
|
|
286
|
+
message: `Your package.json has the 'scripts.prepare' field set to '${String(pkg.scripts.prepare)}'.\n Do you want to replace it with '${prepare}'?`,
|
|
282
287
|
initial: true
|
|
283
288
|
});
|
|
284
289
|
if (replace) {
|
package/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","_package","e","__esModule","default","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","name","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","pack","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","version","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\nimport pack from '../package.json';\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (\n result?.config &&\n pkg.devDependencies &&\n pack.name in pkg.devDependencies\n ) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [pack.name, `^${pack.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: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: false,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = {\n source: entries.source,\n ...requireField,\n };\n } else if (targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n ...importField,\n };\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'main' | 'module' | 'types']?: string;\n } = {};\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.import;\n }\n }\n\n for (const key in entryFields) {\n const entry = entryFields[key as keyof typeof entryFields];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[pack.name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\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"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAR,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnC,MAAMG,iBAAiB,GAAG,kBAAkB;AAErC,eAAeC,IAAIA,CAAA,EAAG;EAC3B,MAAMC,IAAI,GAAGC,OAAO,CAACC,GAAG,CAAC,CAAC;EAC1B,MAAMC,kBAAkB,GAAGC,aAAI,CAACC,OAAO,CAACL,IAAI,EAAE,cAAc,CAAC;EAE7D,IAAI,IAAAM,mBAAU,EAAC,CAAC,EAAE;IAChB,MAAM;MAAEC;IAAe,CAAC,GAAG,MAAM,IAAAC,gBAAO,EAAC;MACvCC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE,gBAAgB;MACtBC,OAAO,EAAE,4HAA4H;MACrIC,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,IAAI,CAACL,cAAc,EAAE;MACnBN,OAAO,CAACY,IAAI,CAAC,CAAC,CAAC;IACjB;EACF;EAEA,IAAI,EAAE,MAAMC,gBAAE,CAACC,UAAU,CAACZ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIa,KAAK,CACb,2CAA2ChB,IAAI,oCACjD,CAAC;EACH;EAEA,MAAMiB,GAAG,GAAGC,IAAI,CAACC,KAAK,CAAC,MAAML,gBAAE,CAACM,QAAQ,CAACjB,kBAAkB,EAAE,OAAO,CAAC,CAAC;EACtE,MAAMkB,MAAM,GAAG,IAAAC,sBAAU,EAACtB,IAAI,CAAC;EAE/B,IACEqB,MAAM,EAAEE,MAAM,IACdN,GAAG,CAACO,eAAe,IACnBC,gBAAI,CAACf,IAAI,IAAIO,GAAG,CAACO,eAAe,EAChC;IACA,MAAM;MAAEjB;IAAe,CAAC,GAAG,MAAM,IAAAC,gBAAO,EAAC;MACvCC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE,gBAAgB;MACtBC,OAAO,EAAE,8GAA8G;MACvHC,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,IAAI,CAACL,cAAc,EAAE;MACnBN,OAAO,CAACY,IAAI,CAAC,CAAC,CAAC;IACjB;EACF;EAEA,MAAM;IAAEa;EAAO,CAAC,GAAG,MAAM,IAAAlB,gBAAO,EAAC;IAC/BC,IAAI,EAAE,MAAM;IACZC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,8BAA8B;IACvCC,OAAO,EAAE,KAAK;IACde,QAAQ,EAAGC,KAAK,IAAKC,OAAO,CAACD,KAAK;EACpC,CAAC,CAAC;EAEF,IAAIE,SAAS;EAEb,IAAI,MAAMhB,gBAAE,CAACC,UAAU,CAACX,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE0B,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE;IAC5DI,SAAS,GAAG,UAAU;EACxB,CAAC,MAAM,IAAI,MAAMhB,gBAAE,CAACC,UAAU,CAACX,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE0B,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE;IACnEI,SAAS,GAAG,UAAU;EACxB,CAAC,MAAM,IAAI,MAAMhB,gBAAE,CAACC,UAAU,CAACX,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE0B,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE;IACpEI,SAAS,GAAG,WAAW;EACzB;EAEA,IAAI,CAACA,SAAS,EAAE;IACd,MAAM,IAAId,KAAK,CACb,qEAAqEU,MAAM,gDAC7E,CAAC;EACH;EAEAT,GAAG,CAACO,eAAe,GAAGQ,MAAM,CAACC,WAAW,CACtC,CACE,GAAGD,MAAM,CAACE,OAAO,CAACjB,GAAG,CAACO,eAAe,IAAI,CAAC,CAAC,CAAC,EAC5C,CAACC,gBAAI,CAACf,IAAI,EAAE,IAAIe,gBAAI,CAACU,OAAO,EAAE,CAAC,CAChC,CAACC,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,EAAE,CAACC,CAAC,CAAC,KAAKD,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC,CACzC,CAAC;EAED,MAAME,SAAyB,GAAG,CAChC;IACE/B,IAAI,EAAE,MAAM;IACZC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,iDAAiD;IAC1DC,OAAO,EAAE,KAAK;IACde,QAAQ,EAAGC,KAAa,IAAKC,OAAO,CAACD,KAAK;EAC5C,CAAC,EACD;IACEnB,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE,SAAS;IACfC,OAAO,EAAE,qCAAqC;IAC9C8B,OAAO,EAAE,CACP;MACEC,KAAK,EAAE,4BAA4B;MACnCC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ,CAAC,EACD;MACEF,KAAK,EAAE,6CAA6C;MACpDC,KAAK,EAAE,UAAU;MACjBC,QAAQ,EAAE;IACZ,CAAC,EACD;MACEF,KAAK,EAAE,iDAAiD;MACxDC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,SAAS,CAACC,IAAI,CAACf,SAAS;IACpC,CAAC,CACF;IACDH,QAAQ,EAAGC,KAAa,IAAKC,OAAO,CAACD,KAAK,CAACkB,MAAM;EACnD,CAAC,CACF;EAED,IACEhB,SAAS,CAACiB,QAAQ,CAAC,KAAK,CAAC,IACzBjD,iBAAiB,CAAC+C,IAAI,CACpB,MAAM/B,gBAAE,CAACM,QAAQ,CAAChB,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE0B,MAAM,EAAEI,SAAS,CAAC,EAAE,OAAO,CAC/D,CAAC,EACD;IACAU,SAAS,CAACQ,IAAI,CAAC;MACbvC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE,8CAA8C;MACvDC,OAAO,EAAEoB,MAAM,CAACiB,IAAI,CAAChC,GAAG,CAACO,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC0B,QAAQ,CAAC,UAAU;IACrE,CAAC,CAAC;EACJ;EAEA,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAG,MAAM,IAAA7C,gBAAO,EAACgC,SAAS,CAAC;EAE1D,MAAMc,MAAM,GACVF,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,IAAIA,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,GAChDA,OAAO,CAAC,CAAC,CAAC,GACVG,SAAS;EAEf,MAAMrB,OAEL,GAAG;IACFR,MAAM,EAAE,KAAKtB,aAAI,CAAC2B,IAAI,CAACL,MAAM,EAAEI,SAAS,CAAC;EAC3C,CAAC;EAED,IAAI0B,GAAG,GAAG,KAAK;EAEf,IAAIJ,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC9BM,GAAG,GAAG,IAAI;IACVtB,OAAO,CAACuB,MAAM,GAAG,KAAKrD,aAAI,CAAC2B,IAAI,CAACoB,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;EACjE;EAEA,IAAIC,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,EAAE;IAChChB,OAAO,CAACwB,QAAQ,GAAG,KAAKtD,aAAI,CAAC2B,IAAI,CAACoB,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;EACrE;EAEA,MAAMQ,KAEL,GAAG,CAAC,CAAC;EAEN,IAAIP,OAAO,CAACF,QAAQ,CAAC,YAAY,CAAC,EAAE;IAClC,IAAIE,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,IAAIE,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;MAC9DS,KAAK,CAACxE,OAAO,GAAG,KAAKiB,aAAI,CAAC2B,IAAI,CAC5BoB,MAAM,EACN,YAAY,EACZ,UAAU,EACVzB,MAAM,EACN,YACF,CAAC,EAAE;MAEHiC,KAAK,CAACC,MAAM,GAAG,KAAKxD,aAAI,CAAC2B,IAAI,CAC3BoB,MAAM,EACN,YAAY,EACZ,QAAQ,EACRzB,MAAM,EACN,YACF,CAAC,EAAE;IACL,CAAC,MAAM;MACLiC,KAAK,CAACxE,OAAO,GAAG,KAAKiB,aAAI,CAAC2B,IAAI,CAC5BoB,MAAM,EACN,YAAY,EACZzB,MAAM,EACN,YACF,CAAC,EAAE;MAEHiC,KAAK,CAACC,MAAM,GAAGD,KAAK,CAACxE,OAAO;IAC9B;IAEA,IAAI,EAAE,MAAM2B,gBAAE,CAACC,UAAU,CAACX,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE;MAC5D,MAAM;QAAE6D;MAAS,CAAC,GAAG,MAAM,IAAArD,gBAAO,EAAC;QACjCC,IAAI,EAAE,SAAS;QACfC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,qHAAqH;QAC9HC,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,IAAIiD,QAAQ,EAAE;QACZ,MAAM/C,gBAAE,CAACgD,SAAS,CAChB1D,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE,eAAe,CAAC,EAChC;UACE+D,eAAe,EAAE;YACfC,OAAO,EAAE,GAAG;YACZC,oBAAoB,EAAE,KAAK;YAC3BC,iBAAiB,EAAE,KAAK;YACxBC,eAAe,EAAE,IAAI;YACrBC,gCAAgC,EAAE,IAAI;YACtCC,GAAG,EAAE,WAAW;YAChBC,GAAG,EAAE,CAAC,QAAQ,CAAC;YACfb,MAAM,EAAE,QAAQ;YAChBc,gBAAgB,EAAE,SAAS;YAC3BC,0BAA0B,EAAE,IAAI;YAChCC,iBAAiB,EAAE,IAAI;YACvBC,mBAAmB,EAAE,KAAK;YAC1BC,qBAAqB,EAAE,KAAK;YAC5BC,wBAAwB,EAAE,IAAI;YAC9BC,cAAc,EAAE,IAAI;YACpBC,kBAAkB,EAAE,IAAI;YACxBC,iBAAiB,EAAE,IAAI;YACvBC,YAAY,EAAE,IAAI;YAClBC,MAAM,EAAE,IAAI;YACZ3B,MAAM,EAAE,QAAQ;YAChB4B,oBAAoB,EAAE;UACxB;QACF,CAAC,EACD;UAAEC,MAAM,EAAE;QAAE,CACd,CAAC;MACH;IACF;EACF;EAEA,MAAMC,OAAO,GAAG,WAAW;EAC3B,MAAMC,KAAK,GAAG,CACZ3D,MAAM,EACNyB,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,eAAe,CAChB;EAED,IAAIK,GAAG,EAAE;IACP,IAAI8B,OAAO,GAAG,KAAK;IAEnB,MAAMC,YAAY,GAAG;MACnB,GAAG,EAAE,CAAC,CAAC;MACP,gBAAgB,EAAE;IACpB,CAAC;IAED,MAAMC,WAAW,GAAG;MAClB,IAAI7B,KAAK,CAACC,MAAM,GAAG;QAAED,KAAK,EAAEA,KAAK,CAACC;MAAO,CAAC,GAAG,IAAI,CAAC;MAClD,IAAI1B,OAAO,CAACuB,MAAM,GAAG;QAAE5D,OAAO,EAAEqC,OAAO,CAACuB;MAAO,CAAC,GAAG,IAAI;IACzD,CAAC;IAED,MAAMgC,YAAY,GAAG;MACnB,IAAI9B,KAAK,CAACxE,OAAO,GAAG;QAAEwE,KAAK,EAAEA,KAAK,CAACxE;MAAQ,CAAC,GAAG,IAAI,CAAC;MACpD,IAAI+C,OAAO,CAACwB,QAAQ,GAAG;QAAE7D,OAAO,EAAEqC,OAAO,CAACwB;MAAS,CAAC,GAAG,IAAI;IAC7D,CAAC;IAED,IAAIN,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,IAAIE,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;MAC9DqC,YAAY,CAAC,GAAG,CAAC,GAAG;QAClB7D,MAAM,EAAEQ,OAAO,CAACR,MAAM;QACtBkC,MAAM,EAAE4B,WAAW;QACnBrG,OAAO,EAAEsG;MACX,CAAC;IACH,CAAC,MAAM,IAAIrC,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,EAAE;MACvCqC,YAAY,CAAC,GAAG,CAAC,GAAG;QAClB7D,MAAM,EAAEQ,OAAO,CAACR,MAAM;QACtB,GAAG+D;MACL,CAAC;IACH,CAAC,MAAM,IAAIrC,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACrCqC,YAAY,CAAC,GAAG,CAAC,GAAG;QAClB7D,MAAM,EAAEQ,OAAO,CAACR,MAAM;QACtB,GAAG8D;MACL,CAAC;IACH;IAEA,IACEvE,GAAG,CAACyE,OAAO,IACXxE,IAAI,CAACyE,SAAS,CAAC1E,GAAG,CAACyE,OAAO,CAAC,KAAKxE,IAAI,CAACyE,SAAS,CAACJ,YAAY,CAAC,EAC5D;MACAD,OAAO,GAAG,CACR,MAAM,IAAA9E,gBAAO,EAAC;QACZC,IAAI,EAAE,SAAS;QACfC,IAAI,EAAE,SAAS;QACfC,OAAO,EAAE,0EAA0E;QACnFC,OAAO,EAAE;MACX,CAAC,CAAC,EACF0E,OAAO;IACX,CAAC,MAAM;MACLA,OAAO,GAAG,IAAI;IAChB;IAEA,IAAIA,OAAO,EAAE;MACXrE,GAAG,CAACyE,OAAO,GAAGH,YAAY;IAC5B;EACF;EAEA,MAAMK,WAEL,GAAG,CAAC,CAAC;EAEN,IAAIxC,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,IAAIE,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC9D0C,WAAW,CAACC,IAAI,GAAG3D,OAAO,CAACwB,QAAQ;IACnCkC,WAAW,CAACnC,MAAM,GAAGvB,OAAO,CAACuB,MAAM;IAEnC,IAAIL,OAAO,CAACF,QAAQ,CAAC,YAAY,CAAC,EAAE;MAClC0C,WAAW,CAACjC,KAAK,GAAGA,KAAK,CAACxE,OAAO;IACnC;EACF,CAAC,MAAM,IAAIiE,OAAO,CAACF,QAAQ,CAAC,UAAU,CAAC,EAAE;IACvC0C,WAAW,CAACC,IAAI,GAAG3D,OAAO,CAACwB,QAAQ;IAEnC,IAAIN,OAAO,CAACF,QAAQ,CAAC,YAAY,CAAC,EAAE;MAClC0C,WAAW,CAACjC,KAAK,GAAGA,KAAK,CAACxE,OAAO;IACnC;EACF,CAAC,MAAM,IAAIiE,OAAO,CAACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;IACrC0C,WAAW,CAACC,IAAI,GAAG3D,OAAO,CAACuB,MAAM;IAEjC,IAAIL,OAAO,CAACF,QAAQ,CAAC,YAAY,CAAC,EAAE;MAClC0C,WAAW,CAACjC,KAAK,GAAGA,KAAK,CAACC,MAAM;IAClC;EACF;EAEA,KAAK,MAAMkC,GAAG,IAAIF,WAAW,EAAE;IAC7B,MAAMG,KAAK,GAAGH,WAAW,CAACE,GAAG,CAA6B;IAE1D,IAAI7E,GAAG,CAAC6E,GAAG,CAAC,IAAI7E,GAAG,CAAC6E,GAAG,CAAC,KAAKC,KAAK,EAAE;MAClC,MAAM;QAAET;MAAQ,CAAC,GAAG,MAAM,IAAA9E,gBAAO,EAAC;QAChCC,IAAI,EAAE,SAAS;QACfC,IAAI,EAAE,SAAS;QACfC,OAAO,EAAE,8BAA8BmF,GAAG,mBAAmB7E,GAAG,CAAC6E,GAAG,CAAC,yCAAyCC,KAAK,IAAI;QACvHnF,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,IAAI0E,OAAO,EAAE;QACXrE,GAAG,CAAC6E,GAAG,CAAC,GAAGC,KAAK;MAClB;IACF,CAAC,MAAM;MACL9E,GAAG,CAAC6E,GAAG,CAAC,GAAGC,KAAK;IAClB;EACF;EAEA,IACE9E,GAAG,CAAC,cAAc,CAAC,KAClBA,GAAG,CAAC,cAAc,CAAC,CAAC+E,UAAU,CAACtE,MAAM,CAAC,IACrCT,GAAG,CAAC,cAAc,CAAC,CAAC+E,UAAU,CAAC,KAAKtE,MAAM,EAAE,CAAC,CAAC,EAChD;IACA,MAAM;MAAEuE;IAAO,CAAC,GAAG,MAAM,IAAAzF,gBAAO,EAAC;MAC/BC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,uKAAuK;MAChLC,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,IAAIqF,MAAM,EAAE;MACV,OAAOhF,GAAG,CAAC,cAAc,CAAC;IAC5B;EACF;EAEA,IAAIA,GAAG,CAACiF,OAAO,EAAEd,OAAO,IAAInE,GAAG,CAACiF,OAAO,CAACd,OAAO,KAAKA,OAAO,EAAE;IAC3D,MAAM;MAAEE;IAAQ,CAAC,GAAG,MAAM,IAAA9E,gBAAO,EAAC;MAChCC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE,6DAA6DM,GAAG,CAACiF,OAAO,CAACd,OAAO,yCAAyCA,OAAO,IAAI;MAC7IxE,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,IAAI0E,OAAO,EAAE;MACXrE,GAAG,CAACiF,OAAO,CAACd,OAAO,GAAGA,OAAO;IAC/B;EACF,CAAC,MAAM;IACLnE,GAAG,CAACiF,OAAO,GAAGjF,GAAG,CAACiF,OAAO,IAAI,CAAC,CAAC;IAC/BjF,GAAG,CAACiF,OAAO,CAACd,OAAO,GAAGA,OAAO;EAC/B;EAEA,IAAInE,GAAG,CAACoE,KAAK,EAAE;IACb,MAAMc,QAAQ,GAAGlF,GAAG,CAACoE,KAAK;IAE1B,IAAIA,KAAK,EAAEe,IAAI,CAAEC,IAAI,IAAK,CAACF,QAAQ,CAACjD,QAAQ,CAACmD,IAAI,CAAC,CAAC,EAAE;MACnD,MAAM;QAAEC;MAAO,CAAC,GAAG,MAAM,IAAA9F,gBAAO,EAAC;QAC/BC,IAAI,EAAE,SAAS;QACfC,IAAI,EAAE,QAAQ;QACdC,OAAO,EAAE,6EAA6E;QACtFC,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,IAAI0F,MAAM,EAAE;QACVrF,GAAG,CAACoE,KAAK,GAAG,CACV,GAAGA,KAAK,EACR,GAAGpE,GAAG,CAACoE,KAAK,CAACkB,MAAM,CAAEF,IAAY,IAAK,CAAChB,KAAK,CAACnC,QAAQ,CAACmD,IAAI,CAAC,CAAC,CAC7D;MACH;IACF;EACF,CAAC,MAAM;IACLpF,GAAG,CAACoE,KAAK,GAAGA,KAAK;EACnB;EAEApE,GAAG,CAACQ,gBAAI,CAACf,IAAI,CAAC,GAAG;IACfgB,MAAM;IACNyB,MAAM;IACNC,OAAO,EAAEA,OAAO,CAACoD,GAAG,CAAEC,CAAS,IAAK;MAClC,IAAIA,CAAC,KAAKnD,MAAM,IAAID,IAAI,EAAE;QACxB,OAAO,CAACoD,CAAC,EAAE;UAAEC,QAAQ,EAAE;QAAK,CAAC,CAAC;MAChC;MAEA,IAAID,CAAC,KAAK,UAAU,IAAIA,CAAC,KAAK,QAAQ,EAAE;QACtC,OAAO,CAACA,CAAC,EAAE;UAAEjD;QAAI,CAAC,CAAC;MACrB;MAEA,OAAOiD,CAAC;IACV,CAAC;EACH,CAAC;EAED,IAAIxF,GAAG,CAAC0F,IAAI,EAAE;IACZ,MAAMZ,KAAK,GAAG,aAAa5C,MAAM,GAAG;IAEpC,IAAIlC,GAAG,CAAC0F,IAAI,CAACC,wBAAwB,EAAE;MACrC,MAAM;QAAEA;MAAyB,CAAC,GAAG3F,GAAG,CAAC0F,IAAI;MAE7C,IAAI,CAACC,wBAAwB,CAAC1D,QAAQ,CAAC6C,KAAK,CAAC,EAAE;QAC7Ca,wBAAwB,CAAC5D,IAAI,CAAC+C,KAAK,CAAC;MACtC;IACF,CAAC,MAAM;MACL9E,GAAG,CAAC0F,IAAI,CAACC,wBAAwB,GAAG,CAACb,KAAK,CAAC;IAC7C;EACF;EAEA9E,GAAG,CAAC4F,YAAY,GAAG5F,GAAG,CAAC4F,YAAY,IAAI,CAAC,eAAe,CAAC;EAExD,IAAI,CAAC5F,GAAG,CAAC4F,YAAY,CAAC3D,QAAQ,CAAC,GAAGC,MAAM,GAAG,CAAC,EAAE;IAC5ClC,GAAG,CAAC4F,YAAY,CAAC7D,IAAI,CAAC,GAAGG,MAAM,GAAG,CAAC;EACrC;EAEA,MAAMrC,gBAAE,CAACgD,SAAS,CAAC3D,kBAAkB,EAAEc,GAAG,EAAE;IAC1CkE,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAM2B,WAAW,GAAG,CAClB1G,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE,YAAY,CAAC,EAC7BI,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE,eAAe,CAAC,CACjC;EAED,KAAK,MAAM+G,UAAU,IAAID,WAAW,EAAE;IACpC,IAAI,MAAMhG,gBAAE,CAACC,UAAU,CAACgG,UAAU,CAAC,EAAE;MACnC,MAAMC,OAAO,GAAG,MAAMlG,gBAAE,CAACM,QAAQ,CAAC2F,UAAU,EAAE,OAAO,CAAC;MAEtD,IAAI,CAACC,OAAO,CAACC,KAAK,CAAC,IAAI,CAAC,CAAC/D,QAAQ,CAAC,GAAGC,MAAM,GAAG,CAAC,EAAE;QAC/C,MAAMrC,gBAAE,CAACoG,SAAS,CAChBH,UAAU,EACV,GAAGC,OAAO,yBAAyB7D,MAAM,KAC3C,CAAC;MACH;IACF;EACF;EAEA,MAAMgE,cAAc,GAAG,CAAC,MAAMrG,gBAAE,CAACC,UAAU,CAACX,aAAI,CAAC2B,IAAI,CAAC/B,IAAI,EAAE,WAAW,CAAC,CAAC,IACrE,MAAM,GACN,KAAK;EAETC,OAAO,CAACmH,MAAM,CAACC,KAAK,CAClB,IAAAC,eAAM,EAAC;AACX,cAAcC,cAAK,CAACC,MAAM,CAACvG,GAAG,CAACP,IAAI,CAAC;AACpC;AACA,MAAM6G,cAAK,CAACE,OAAO,CACb,GAAGF,cAAK,CAACG,IAAI,CAAC,oBAAoB,CAAC,aACrC,CAAC,GAAGH,cAAK,CAACI,IAAI,CAAC,GAAG,CAAC;AACvB;AACA,QAAQJ,cAAK,CAACI,IAAI,CAAC,GAAG,CAAC,IAAIR,cAAc;AACzC;AACA,MAAMI,cAAK,CAACC,MAAM,CAAC,YAAY,CAAC;AAChC,GAAG,CACD,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","_package","e","__esModule","default","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","name","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","pack","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","version","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","String","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\nimport pack from '../package.json';\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (\n result?.config &&\n pkg.devDependencies &&\n pack.name in pkg.devDependencies\n ) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\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 })) as { source: string };\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 throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [pack.name, `^${pack.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: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: false,\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const { output, targets, flow } = (await prompts(questions)) as {\n output: string;\n targets: string[];\n flow?: boolean;\n };\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = {\n source: entries.source,\n ...requireField,\n };\n } else if (targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n ...importField,\n };\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'main' | 'module' | 'types']?: string;\n } = {};\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.import;\n }\n }\n\n for (const key in entryFields) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const entry = entryFields[key as keyof typeof entryFields];\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 '${String(pkg[key])}'.\\n Do you want to replace it with '${String(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 (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${String(pkg.scripts.prepare)}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[pack.name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\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"],"mappings":"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","ignoreList":[]}
|
package/lib/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":["_arktype","require","module","name","options","type","esm","default","babelrc","configFile","sourceMaps","copyFlow","jsxRuntime","commonjs","typescript","project","tsc","codegen","custom","script","clean","target","or","config","exports","source","output","targets","array","moreThanLength","exclude","string","onDeepUndeclaredKey"],"sources":["../src/schema.ts"],"sourcesContent":["import { type } from 'arktype';\n\nconst module = {\n name: '\"module\"',\n options: type({\n esm: type('boolean').default(false),\n babelrc: type('boolean').default(false),\n configFile: type('boolean | string').default(false),\n sourceMaps: type('boolean').default(true),\n copyFlow: type('boolean').default(false),\n jsxRuntime: type('\"automatic\" | \"classic\"').default('automatic'),\n }),\n} as const;\n\nconst commonjs = {\n name: '\"commonjs\"',\n options: module.options,\n} as const;\n\nconst typescript = {\n name: '\"typescript\"',\n options: type({\n project: 'string?',\n tsc: 'string?',\n }),\n} as const;\n\nconst codegen = {\n name: '\"codegen\"',\n} as const;\n\nconst custom = {\n name: '\"custom\"',\n options: type({\n script: 'string',\n clean: 'string?',\n }),\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst target = type.or(\n commonjs.name,\n module.name,\n typescript.name,\n codegen.name,\n custom.name\n);\n\nexport const config = type({\n source: 'string',\n output: 'string',\n targets: type\n .or(\n type.or(module.name, [module.name], [module.name, module.options]),\n type.or(\n commonjs.name,\n [commonjs.name],\n [commonjs.name, commonjs.options]\n ),\n type.or(\n typescript.name,\n [typescript.name],\n [typescript.name, typescript.options]\n ),\n type.or(codegen.name, [codegen.name]),\n [custom.name, custom.options]\n )\n .array()\n .moreThanLength(0),\n exclude: type.string.default('**/{__tests__,__fixtures__,__mocks__}/**'),\n}).onDeepUndeclaredKey('reject');\n\nexport type Config = typeof config.infer;\n\nexport type Target = typeof target.infer;\n\nexport type TargetOptions<T extends Target> = T extends typeof commonjs.name\n ? typeof commonjs.options.infer\n : T extends typeof module.name\n
|
|
1
|
+
{"version":3,"file":"schema.js","names":["_arktype","require","module","name","options","type","esm","default","babelrc","configFile","sourceMaps","copyFlow","jsxRuntime","commonjs","typescript","project","tsc","codegen","custom","script","clean","target","or","config","exports","source","output","targets","array","moreThanLength","exclude","string","onDeepUndeclaredKey"],"sources":["../src/schema.ts"],"sourcesContent":["import { type } from 'arktype';\n\nconst module = {\n name: '\"module\"',\n options: type({\n esm: type('boolean').default(false),\n babelrc: type('boolean').default(false),\n configFile: type('boolean | string').default(false),\n sourceMaps: type('boolean').default(true),\n copyFlow: type('boolean').default(false),\n jsxRuntime: type('\"automatic\" | \"classic\"').default('automatic'),\n }),\n} as const;\n\nconst commonjs = {\n name: '\"commonjs\"',\n options: module.options,\n} as const;\n\nconst typescript = {\n name: '\"typescript\"',\n options: type({\n project: 'string?',\n tsc: 'string?',\n }),\n} as const;\n\nconst codegen = {\n name: '\"codegen\"',\n} as const;\n\nconst custom = {\n name: '\"custom\"',\n options: type({\n script: 'string',\n clean: 'string?',\n }),\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst target = type.or(\n commonjs.name,\n module.name,\n typescript.name,\n codegen.name,\n custom.name\n);\n\nexport const config = type({\n source: 'string',\n output: 'string',\n targets: type\n .or(\n type.or(module.name, [module.name], [module.name, module.options]),\n type.or(\n commonjs.name,\n [commonjs.name],\n [commonjs.name, commonjs.options]\n ),\n type.or(\n typescript.name,\n [typescript.name],\n [typescript.name, typescript.options]\n ),\n type.or(codegen.name, [codegen.name]),\n [custom.name, custom.options]\n )\n .array()\n .moreThanLength(0),\n exclude: type.string.default('**/{__tests__,__fixtures__,__mocks__}/**'),\n}).onDeepUndeclaredKey('reject');\n\nexport type Config = typeof config.infer;\n\nexport type Target = typeof target.infer;\n\nexport type TargetOptions<T extends Target> = T extends typeof commonjs.name\n ? typeof commonjs.options.infer\n : T extends typeof module.name\n ? typeof module.options.infer\n : T extends typeof typescript.name\n ? typeof typescript.options.infer\n : T extends typeof custom.name\n ? typeof custom.options.infer\n : T extends typeof codegen.name\n ? undefined\n : never;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,OAAM,GAAG;EACbC,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZC,GAAG,EAAE,IAAAD,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnCC,OAAO,EAAE,IAAAH,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACvCE,UAAU,EAAE,IAAAJ,aAAI,EAAC,kBAAkB,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnDG,UAAU,EAAE,IAAAL,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,IAAI,CAAC;IACzCI,QAAQ,EAAE,IAAAN,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACxCK,UAAU,EAAE,IAAAP,aAAI,EAAC,yBAAyB,CAAC,CAACE,OAAO,CAAC,WAAW;EACjE,CAAC;AACH,CAAU;AAEV,MAAMM,QAAQ,GAAG;EACfV,IAAI,EAAE,YAAY;EAClBC,OAAO,EAAEF,OAAM,CAACE;AAClB,CAAU;AAEV,MAAMU,UAAU,GAAG;EACjBX,IAAI,EAAE,cAAc;EACpBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZU,OAAO,EAAE,SAAS;IAClBC,GAAG,EAAE;EACP,CAAC;AACH,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdd,IAAI,EAAE;AACR,CAAU;AAEV,MAAMe,MAAM,GAAG;EACbf,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZc,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACT,CAAC;AACH,CAAU;;AAEV;AACA,MAAMC,MAAM,GAAGhB,aAAI,CAACiB,EAAE,CACpBT,QAAQ,CAACV,IAAI,EACbD,OAAM,CAACC,IAAI,EACXW,UAAU,CAACX,IAAI,EACfc,OAAO,CAACd,IAAI,EACZe,MAAM,CAACf,IACT,CAAC;AAEM,MAAMoB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAlB,aAAI,EAAC;EACzBoB,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEtB,aAAI,CACViB,EAAE,CACDjB,aAAI,CAACiB,EAAE,CAACpB,OAAM,CAACC,IAAI,EAAE,CAACD,OAAM,CAACC,IAAI,CAAC,EAAE,CAACD,OAAM,CAACC,IAAI,EAAED,OAAM,CAACE,OAAO,CAAC,CAAC,EAClEC,aAAI,CAACiB,EAAE,CACLT,QAAQ,CAACV,IAAI,EACb,CAACU,QAAQ,CAACV,IAAI,CAAC,EACf,CAACU,QAAQ,CAACV,IAAI,EAAEU,QAAQ,CAACT,OAAO,CAClC,CAAC,EACDC,aAAI,CAACiB,EAAE,CACLR,UAAU,CAACX,IAAI,EACf,CAACW,UAAU,CAACX,IAAI,CAAC,EACjB,CAACW,UAAU,CAACX,IAAI,EAAEW,UAAU,CAACV,OAAO,CACtC,CAAC,EACDC,aAAI,CAACiB,EAAE,CAACL,OAAO,CAACd,IAAI,EAAE,CAACc,OAAO,CAACd,IAAI,CAAC,CAAC,EACrC,CAACe,MAAM,CAACf,IAAI,EAAEe,MAAM,CAACd,OAAO,CAC9B,CAAC,CACAwB,KAAK,CAAC,CAAC,CACPC,cAAc,CAAC,CAAC,CAAC;EACpBC,OAAO,EAAEzB,aAAI,CAAC0B,MAAM,CAACxB,OAAO,CAAC,0CAA0C;AACzE,CAAC,CAAC,CAACyB,mBAAmB,CAAC,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -39,8 +39,8 @@ packageJson) {
|
|
|
39
39
|
if (!(await _fsExtra.default.pathExists(codegenAndroidPath))) {
|
|
40
40
|
throw new Error(`The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`);
|
|
41
41
|
}
|
|
42
|
-
const androidPromises = FILES_TO_REMOVE.map(fileName => _fsExtra.default.rm(_path.default.join(codegenAndroidPath, fileName)));
|
|
43
|
-
const iosPromises = FILES_TO_REMOVE.map(fileName => _fsExtra.default.rm(_path.default.join(codegenIosPath, fileName)));
|
|
42
|
+
const androidPromises = FILES_TO_REMOVE.map(async fileName => _fsExtra.default.rm(_path.default.join(codegenAndroidPath, fileName)));
|
|
43
|
+
const iosPromises = FILES_TO_REMOVE.map(async fileName => _fsExtra.default.rm(_path.default.join(codegenIosPath, fileName)));
|
|
44
44
|
await Promise.allSettled([...androidPromises, ...iosPromises]);
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeCodegenAppLevelCode.js","names":["_fsExtra","_interopRequireDefault","require","_path","_patchCodegenAndroidPackage","_spawn","e","__esModule","default","FILES_TO_REMOVE","removeCodegenAppLevelCode","projectPath","packageJson","codegenAndroidPathSetting","codegenConfig","outputDir","android","Error","CODEGEN_DOCS","codegenAndroidPath","path","resolve","fs","pathExists","codegenIosPathSetting","ios","codegenIosPath","androidPromises","map","fileName","rm","join","iosPromises","Promise","allSettled","getCodegenCLISourceSupport","codegenCLIHelpOutput","spawn","includes"],"sources":["../../../../src/targets/codegen/patches/removeCodegenAppLevelCode.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { CODEGEN_DOCS } from './patchCodegenAndroidPackage';\nimport { spawn } from '../../../utils/spawn';\n\nconst FILES_TO_REMOVE = [\n 'RCTAppDependencyProvider.h',\n 'RCTAppDependencyProvider.mm',\n 'RCTModulesConformingToProtocolsProvider.h',\n 'RCTModulesConformingToProtocolsProvider.mm',\n 'RCTThirdPartyComponentsProvider.h',\n 'RCTThirdPartyComponentsProvider.mm',\n 'ReactAppDependencyProvider.podspec',\n];\n\n/**\n * With React Native 0.77, calling `@react-native-community/cli codegen` generates\n * some app level source files such as `RCTAppDependencyProvider.mm`.\n * These files are supposed to be only generated for apps\n * but the cli misbehaves and generates them for all sorts of projects.\n * You can find the relevant PR here: https://github.com/facebook/react-native/pull/47650\n * This patch can be removed when this gets fixed in React Native.\n */\nexport async function removeCodegenAppLevelCode(\n projectPath: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: any\n) {\n const codegenAndroidPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.android;\n if (!codegenAndroidPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.android. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenAndroidPath = path.resolve(\n projectPath,\n codegenAndroidPathSetting\n );\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen android path defined in your package.json: ${codegenAndroidPath} doesnt' exist.`\n );\n }\n\n const codegenIosPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.ios;\n if (!codegenIosPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.ios. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenIosPath = path.resolve(projectPath, codegenIosPathSetting);\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`\n );\n }\n\n const androidPromises = FILES_TO_REMOVE.map((fileName) =>\n fs.rm(path.join(codegenAndroidPath, fileName))\n );\n\n const iosPromises = FILES_TO_REMOVE.map((fileName) =>\n fs.rm(path.join(codegenIosPath, fileName))\n );\n\n await Promise.allSettled([...androidPromises, ...iosPromises]);\n}\n\n/**\n * Codegen generates a different set of files if the target is an app instead.\n * The following commit adds support for a --source argument to support calling codegen as a library:\n * https://github.com/facebook/react-native/commit/98b8f178110472e5fed97de80766c03b0b5e988c\n * Here we just check if the --source argument is supported.\n */\nexport async function getCodegenCLISourceSupport(): Promise<boolean> {\n const codegenCLIHelpOutput = await spawn('npx', [\n '@react-native-community/cli',\n 'codegen',\n '--help',\n ]);\n return codegenCLIHelpOutput.includes('--source');\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,eAAe,GAAG,CACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,2CAA2C,EAC3C,4CAA4C,EAC5C,mCAAmC,EACnC,oCAAoC,EACpC,oCAAoC,CACrC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,yBAAyBA,CAC7CC,WAAmB;AACnB;AACAC,WAAgB,EAChB;EACA,MAAMC,yBAA6C,GACjDD,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEC,OAAO;EAC/C,IAAI,CAACH,yBAAyB,EAAE;IAC9B,MAAM,IAAII,KAAK,CACb,iFAAiFC,wCAAY,EAC/F,CAAC;EACH;EACA,MAAMC,kBAAkB,GAAGC,aAAI,CAACC,OAAO,CACrCV,WAAW,EACXE,yBACF,CAAC;EAED,IAAI,EAAE,MAAMS,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,0DAA0DE,kBAAkB,iBAC9E,CAAC;EACH;EAEA,MAAMK,qBAAyC,GAC7CZ,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEU,GAAG;EAC3C,IAAI,CAACD,qBAAqB,EAAE;IAC1B,MAAM,IAAIP,KAAK,CACb,6EAA6EC,wCAAY,EAC3F,CAAC;EACH;EACA,MAAMQ,cAAc,GAAGN,aAAI,CAACC,OAAO,CAACV,WAAW,EAAEa,qBAAqB,CAAC;EAEvE,IAAI,EAAE,MAAMF,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,sDAAsDO,qBAAqB,iBAC7E,CAAC;EACH;EAEA,MAAMG,eAAe,GAAGlB,eAAe,CAACmB,GAAG,
|
|
1
|
+
{"version":3,"file":"removeCodegenAppLevelCode.js","names":["_fsExtra","_interopRequireDefault","require","_path","_patchCodegenAndroidPackage","_spawn","e","__esModule","default","FILES_TO_REMOVE","removeCodegenAppLevelCode","projectPath","packageJson","codegenAndroidPathSetting","codegenConfig","outputDir","android","Error","CODEGEN_DOCS","codegenAndroidPath","path","resolve","fs","pathExists","codegenIosPathSetting","ios","codegenIosPath","androidPromises","map","fileName","rm","join","iosPromises","Promise","allSettled","getCodegenCLISourceSupport","codegenCLIHelpOutput","spawn","includes"],"sources":["../../../../src/targets/codegen/patches/removeCodegenAppLevelCode.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { CODEGEN_DOCS } from './patchCodegenAndroidPackage';\nimport { spawn } from '../../../utils/spawn';\n\nconst FILES_TO_REMOVE = [\n 'RCTAppDependencyProvider.h',\n 'RCTAppDependencyProvider.mm',\n 'RCTModulesConformingToProtocolsProvider.h',\n 'RCTModulesConformingToProtocolsProvider.mm',\n 'RCTThirdPartyComponentsProvider.h',\n 'RCTThirdPartyComponentsProvider.mm',\n 'ReactAppDependencyProvider.podspec',\n];\n\n/**\n * With React Native 0.77, calling `@react-native-community/cli codegen` generates\n * some app level source files such as `RCTAppDependencyProvider.mm`.\n * These files are supposed to be only generated for apps\n * but the cli misbehaves and generates them for all sorts of projects.\n * You can find the relevant PR here: https://github.com/facebook/react-native/pull/47650\n * This patch can be removed when this gets fixed in React Native.\n */\nexport async function removeCodegenAppLevelCode(\n projectPath: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: any\n) {\n const codegenAndroidPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.android;\n if (!codegenAndroidPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.android. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenAndroidPath = path.resolve(\n projectPath,\n codegenAndroidPathSetting\n );\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen android path defined in your package.json: ${codegenAndroidPath} doesnt' exist.`\n );\n }\n\n const codegenIosPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.ios;\n if (!codegenIosPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.ios. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenIosPath = path.resolve(projectPath, codegenIosPathSetting);\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`\n );\n }\n\n const androidPromises = FILES_TO_REMOVE.map(async (fileName) =>\n fs.rm(path.join(codegenAndroidPath, fileName))\n );\n\n const iosPromises = FILES_TO_REMOVE.map(async (fileName) =>\n fs.rm(path.join(codegenIosPath, fileName))\n );\n\n await Promise.allSettled([...androidPromises, ...iosPromises]);\n}\n\n/**\n * Codegen generates a different set of files if the target is an app instead.\n * The following commit adds support for a --source argument to support calling codegen as a library:\n * https://github.com/facebook/react-native/commit/98b8f178110472e5fed97de80766c03b0b5e988c\n * Here we just check if the --source argument is supported.\n */\nexport async function getCodegenCLISourceSupport(): Promise<boolean> {\n const codegenCLIHelpOutput = await spawn('npx', [\n '@react-native-community/cli',\n 'codegen',\n '--help',\n ]);\n return codegenCLIHelpOutput.includes('--source');\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,eAAe,GAAG,CACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,2CAA2C,EAC3C,4CAA4C,EAC5C,mCAAmC,EACnC,oCAAoC,EACpC,oCAAoC,CACrC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,yBAAyBA,CAC7CC,WAAmB;AACnB;AACAC,WAAgB,EAChB;EACA,MAAMC,yBAA6C,GACjDD,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEC,OAAO;EAC/C,IAAI,CAACH,yBAAyB,EAAE;IAC9B,MAAM,IAAII,KAAK,CACb,iFAAiFC,wCAAY,EAC/F,CAAC;EACH;EACA,MAAMC,kBAAkB,GAAGC,aAAI,CAACC,OAAO,CACrCV,WAAW,EACXE,yBACF,CAAC;EAED,IAAI,EAAE,MAAMS,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,0DAA0DE,kBAAkB,iBAC9E,CAAC;EACH;EAEA,MAAMK,qBAAyC,GAC7CZ,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEU,GAAG;EAC3C,IAAI,CAACD,qBAAqB,EAAE;IAC1B,MAAM,IAAIP,KAAK,CACb,6EAA6EC,wCAAY,EAC3F,CAAC;EACH;EACA,MAAMQ,cAAc,GAAGN,aAAI,CAACC,OAAO,CAACV,WAAW,EAAEa,qBAAqB,CAAC;EAEvE,IAAI,EAAE,MAAMF,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,sDAAsDO,qBAAqB,iBAC7E,CAAC;EACH;EAEA,MAAMG,eAAe,GAAGlB,eAAe,CAACmB,GAAG,CAAC,MAAOC,QAAQ,IACzDP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACZ,kBAAkB,EAAEU,QAAQ,CAAC,CAC/C,CAAC;EAED,MAAMG,WAAW,GAAGvB,eAAe,CAACmB,GAAG,CAAC,MAAOC,QAAQ,IACrDP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACL,cAAc,EAAEG,QAAQ,CAAC,CAC3C,CAAC;EAED,MAAMI,OAAO,CAACC,UAAU,CAAC,CAAC,GAAGP,eAAe,EAAE,GAAGK,WAAW,CAAC,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,0BAA0BA,CAAA,EAAqB;EACnE,MAAMC,oBAAoB,GAAG,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAC9C,6BAA6B,EAC7B,SAAS,EACT,QAAQ,CACT,CAAC;EACF,OAAOD,oBAAoB,CAACE,QAAQ,CAAC,UAAU,CAAC;AAClD","ignoreList":[]}
|
|
@@ -172,7 +172,7 @@ async function build({
|
|
|
172
172
|
const invalidFieldNames = (await Promise.all(fields.map(async field => {
|
|
173
173
|
if (field.error) {
|
|
174
174
|
if (field.value) {
|
|
175
|
-
report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${field.message}.`);
|
|
175
|
+
report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${String(field.message)}.`);
|
|
176
176
|
}
|
|
177
177
|
return null;
|
|
178
178
|
}
|
|
@@ -192,7 +192,7 @@ async function build({
|
|
|
192
192
|
}
|
|
193
193
|
const validFields = fields.filter(field => !field.error);
|
|
194
194
|
if (validFields.every(field => field.value == null)) {
|
|
195
|
-
const suggestedTypesPaths = (await Promise.all(validFields.map(field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
|
|
195
|
+
const suggestedTypesPaths = (await Promise.all(validFields.map(async field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
|
|
196
196
|
report.warn(`No ${validFields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${suggestedTypesPaths.length ? `pointing to ${suggestedTypesPaths.map(path => _kleur.default.blue(path)).join(' or ')}` : `adding ${validFields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can use the typescript definitions.`);
|
|
197
197
|
}
|
|
198
198
|
} catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","names":["_del","_interopRequireDefault","require","_fsExtra","_json","_kleur","_os","_path","_which","_spawn","e","__esModule","default","build","source","root","output","report","options","variants","esm","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","cwd","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","message","undefined","exports","Boolean","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","stdout","toString","cause"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import del from 'del';\nimport fs from 'fs-extra';\nimport JSON5 from 'json5';\nimport kleur from 'kleur';\nimport { platform } from 'os';\nimport path from 'path';\nimport which from 'which';\nimport type { Input, Variants } from '../types';\nimport { spawn } from '../utils/spawn';\n\ntype Options = Input & {\n options?: {\n project?: string;\n tsc?: string;\n };\n esm: boolean;\n variants: Variants;\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n message: string | undefined;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n variants,\n esm,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = await spawn('yarn', ['bin', 'tsc'], {\n cwd: root,\n });\n\n tsc = result.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs: { commonjs?: string; module?: string } = {};\n\n if (esm && variants.commonjs && variants.module) {\n outputs.commonjs = path.join(output, 'commonjs');\n outputs.module = path.join(output, 'module');\n } else if (variants.commonjs) {\n outputs.commonjs = output;\n } else {\n outputs.module = output;\n }\n\n const outDir = outputs.commonjs ?? outputs.module;\n\n if (outDir == null) {\n throw new Error('Neither commonjs nor module output is enabled.');\n }\n\n const tsbuildinfo = path.join(\n outDir,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n await spawn(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n { cwd: root }\n );\n\n await del([tsbuildinfo]);\n\n if (esm) {\n if (outputs?.commonjs && outputs?.module) {\n // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n } else if (outputs?.commonjs) {\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n } else if (outputs?.module) {\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outDir,\n error: Boolean(\n pkg.exports?.['.']?.import && pkg.exports?.['.']?.require\n ),\n message: `using ${kleur.blue(\n \"exports['.'].import\"\n )} and ${kleur.blue(\n \"exports['.'].require\"\n )}. Specify ${kleur.blue(\n \"exports['.'].import.types\"\n )} and ${kleur.blue(\"exports['.'].require.types\")} instead.`,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !esm,\n message: `the ${kleur.blue(\n 'esm'\n )} option is not enabled for the ${kleur.blue('module')} target`,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when ${field.message}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n }\n }\n\n throw new Error('Failed to build definition files.', { cause: e });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"typescript.js","names":["_del","_interopRequireDefault","require","_fsExtra","_json","_kleur","_os","_path","_which","_spawn","e","__esModule","default","build","source","root","output","report","options","variants","esm","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","cwd","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","message","undefined","exports","Boolean","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","String","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","stdout","toString","cause"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import del from 'del';\nimport fs from 'fs-extra';\nimport JSON5 from 'json5';\nimport kleur from 'kleur';\nimport { platform } from 'os';\nimport path from 'path';\nimport which from 'which';\nimport type { Input, Variants } from '../types';\nimport { spawn } from '../utils/spawn';\n\ntype Options = Input & {\n options?: {\n project?: string;\n tsc?: string;\n };\n esm: boolean;\n variants: Variants;\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n message: string | undefined;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n variants,\n esm,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = await spawn('yarn', ['bin', 'tsc'], {\n cwd: root,\n });\n\n tsc = result.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs: { commonjs?: string; module?: string } = {};\n\n if (esm && variants.commonjs && variants.module) {\n outputs.commonjs = path.join(output, 'commonjs');\n outputs.module = path.join(output, 'module');\n } else if (variants.commonjs) {\n outputs.commonjs = output;\n } else {\n outputs.module = output;\n }\n\n const outDir = outputs.commonjs ?? outputs.module;\n\n if (outDir == null) {\n throw new Error('Neither commonjs nor module output is enabled.');\n }\n\n const tsbuildinfo = path.join(\n outDir,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n await spawn(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n { cwd: root }\n );\n\n await del([tsbuildinfo]);\n\n if (esm) {\n if (outputs?.commonjs && outputs?.module) {\n // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n } else if (outputs?.commonjs) {\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n } else if (outputs?.module) {\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outDir,\n error: Boolean(\n pkg.exports?.['.']?.import && pkg.exports?.['.']?.require\n ),\n message: `using ${kleur.blue(\n \"exports['.'].import\"\n )} and ${kleur.blue(\n \"exports['.'].require\"\n )}. Specify ${kleur.blue(\n \"exports['.'].import.types\"\n )} and ${kleur.blue(\"exports['.'].require.types\")} instead.`,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !esm,\n message: `the ${kleur.blue(\n 'esm'\n )} option is not enabled for the ${kleur.blue('module')} target`,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when ${String(field.message)}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map(async (field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n }\n }\n\n throw new Error('Failed to build definition files.', { cause: e });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/utils/compile.js
CHANGED
|
@@ -60,7 +60,7 @@ async function compile({
|
|
|
60
60
|
await _fsExtra.default.mkdirp(_path.default.dirname(outputFilename));
|
|
61
61
|
if (!sourceExt.test(filepath)) {
|
|
62
62
|
// Copy files which aren't source code
|
|
63
|
-
_fsExtra.default.copy(filepath, outputFilename);
|
|
63
|
+
await _fsExtra.default.copy(filepath, outputFilename);
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
const content = await _fsExtra.default.readFile(filepath, 'utf-8');
|
|
@@ -69,7 +69,7 @@ async function compile({
|
|
|
69
69
|
// So we copy the file as is instead of transforming it
|
|
70
70
|
const codegenEnabled = 'codegenConfig' in pkg;
|
|
71
71
|
if (codegenEnabled && (0, _isCodegenSpec.isCodegenSpec)(filepath)) {
|
|
72
|
-
_fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
|
|
72
|
+
await _fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
75
|
const result = await babel.transformAsync(content, {
|
|
@@ -96,7 +96,7 @@ async function compile({
|
|
|
96
96
|
if (result == null) {
|
|
97
97
|
throw new Error('Output code was null');
|
|
98
98
|
}
|
|
99
|
-
let code = result.code;
|
|
99
|
+
let code = result.code || '';
|
|
100
100
|
if (sourceMaps && result.map) {
|
|
101
101
|
const mapFilename = outputFilename + '.map';
|
|
102
102
|
code += '\n//# sourceMappingURL=' + _path.default.basename(mapFilename);
|
|
@@ -107,7 +107,7 @@ async function compile({
|
|
|
107
107
|
}
|
|
108
108
|
await _fsExtra.default.writeFile(outputFilename, code);
|
|
109
109
|
if (copyFlow) {
|
|
110
|
-
_fsExtra.default.copy(filepath, outputFilename + '.flow');
|
|
110
|
+
await _fsExtra.default.copy(filepath, outputFilename + '.flow');
|
|
111
111
|
}
|
|
112
112
|
}));
|
|
113
113
|
report.success(`Wrote files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
|
|
@@ -178,12 +178,12 @@ async function compile({
|
|
|
178
178
|
}
|
|
179
179
|
const generatedEntryPath = await getGeneratedEntryPath();
|
|
180
180
|
if (fields.some(field => field.value)) {
|
|
181
|
-
|
|
181
|
+
for (const {
|
|
182
182
|
name,
|
|
183
183
|
value
|
|
184
|
-
})
|
|
184
|
+
} of fields) {
|
|
185
185
|
if (!value) {
|
|
186
|
-
|
|
186
|
+
continue;
|
|
187
187
|
}
|
|
188
188
|
if (name.startsWith('exports') && value && !/^\.\//.test(value)) {
|
|
189
189
|
report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(value)}`);
|
|
@@ -203,11 +203,13 @@ async function compile({
|
|
|
203
203
|
}
|
|
204
204
|
throw e;
|
|
205
205
|
}
|
|
206
|
-
}
|
|
207
|
-
if (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
206
|
+
}
|
|
207
|
+
if (generatedEntryPath) {
|
|
208
|
+
if (modules === 'commonjs' && pkg.exports?.['.']?.import === `./${generatedEntryPath}`) {
|
|
209
|
+
report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a CommonJS module. This is likely a mistake.`);
|
|
210
|
+
} else if (modules === 'preserve' && pkg.exports?.['.']?.require === `./${generatedEntryPath}`) {
|
|
211
|
+
report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a ES module. This is likely a mistake.`);
|
|
212
|
+
}
|
|
211
213
|
}
|
|
212
214
|
} else {
|
|
213
215
|
report.warn(`No ${fields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing to ${_kleur.default.blue(generatedEntryPath)}` : `adding ${fields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can import your package.`);
|
package/lib/utils/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","variants","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","codegenEnabled","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","commonjs","module","push","value","main","exports","import","generatedEntryPath","some","field","startsWith","error","cause"],"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, Variants } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\nexport type CompileOptions = {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\ntype Options = Input &\n CompileOptions & {\n modules: 'commonjs' | 'preserve';\n variants: Variants;\n exclude: string;\n };\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n variants,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n const codegenEnabled = 'codegenConfig' in pkg;\n\n if (codegenEnabled && isCodegenSpec(filepath)) {\n fs.copy(filepath, path.join(output, path.relative(source, filepath)));\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields: { name: string; value: string | undefined }[] = [];\n\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push({ name: 'main', value: pkg.main });\n } else {\n fields.push({ name: 'module', value: pkg.module });\n }\n } else {\n fields.push({ name: 'main', value: pkg.main });\n }\n\n if (esm) {\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n fields.push({\n name: \"exports['.'].default\",\n value: pkg.exports?.['.']?.default,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`, {\n cause: e,\n });\n }\n\n throw e;\n }\n })\n );\n\n if (\n modules === 'commonjs' &&\n pkg.exports?.['.']?.import === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a CommonJS module. This is likely a mistake.`\n );\n } else if (\n modules === 'preserve' &&\n pkg.exports?.['.']?.require === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a ES module. This is likely a mistake.`\n );\n }\n } else {\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","variants","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","codegenEnabled","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","commonjs","module","push","value","main","exports","import","generatedEntryPath","some","field","startsWith","error","cause"],"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, Variants } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\nexport type CompileOptions = {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\ntype Options = Input &\n CompileOptions & {\n modules: 'commonjs' | 'preserve';\n variants: Variants;\n exclude: string;\n };\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n variants,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n await fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n const codegenEnabled = 'codegenConfig' in pkg;\n\n if (codegenEnabled && isCodegenSpec(filepath)) {\n await fs.copy(\n filepath,\n path.join(output, path.relative(source, filepath))\n );\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code || '';\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n await fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields: { name: string; value: string | undefined }[] = [];\n\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push({ name: 'main', value: pkg.main });\n } else {\n fields.push({ name: 'module', value: pkg.module });\n }\n } else {\n fields.push({ name: 'main', value: pkg.main });\n }\n\n if (esm) {\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n fields.push({\n name: \"exports['.'].default\",\n value: pkg.exports?.['.']?.default,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (fields.some((field) => field.value)) {\n for (const { name, value } of fields) {\n if (!value) {\n continue;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`, {\n cause: e,\n });\n }\n\n throw e;\n }\n }\n\n if (generatedEntryPath) {\n if (\n modules === 'commonjs' &&\n pkg.exports?.['.']?.import === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a CommonJS module. This is likely a mistake.`\n );\n } else if (\n modules === 'preserve' &&\n pkg.exports?.['.']?.require === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a ES module. This is likely a mistake.`\n );\n }\n }\n } else {\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isCodegenSpec = void 0;
|
|
7
|
-
const isCodegenSpec = filepath => {
|
|
8
|
-
return /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/i.test(filepath);
|
|
9
|
-
};
|
|
10
6
|
exports.isCodegenSpec = isCodegenSpec;
|
|
7
|
+
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function isCodegenSpec(filepath) {
|
|
10
|
+
const looksLikeCodgenSpec = /(?:^|[\\/])(?:(\w+)NativeComponent)\.[jt]sx?$/i.test(filepath);
|
|
11
|
+
if (looksLikeCodgenSpec) {
|
|
12
|
+
// This is used in the babel plugin so needs to be synchronous
|
|
13
|
+
const content = _fsExtra.default.readFileSync(filepath, 'utf8');
|
|
14
|
+
|
|
15
|
+
// Regex taken from https://github.com/facebook/react-native/blob/271232d85654cee32322b1c8a3a39ef647ad02e2/packages/react-native-babel-preset/src/configs/main.js#L78C24-L78C47
|
|
16
|
+
if (/\bcodegenNativeComponent</.test(content)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
11
22
|
//# sourceMappingURL=isCodegenSpec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isCodegenSpec.js","names":["isCodegenSpec","filepath","test","
|
|
1
|
+
{"version":3,"file":"isCodegenSpec.js","names":["_fsExtra","_interopRequireDefault","require","e","__esModule","default","isCodegenSpec","filepath","looksLikeCodgenSpec","test","content","fs","readFileSync"],"sources":["../../src/utils/isCodegenSpec.ts"],"sourcesContent":["import fs from 'fs-extra';\n\nexport function isCodegenSpec(filepath: string): boolean {\n const looksLikeCodgenSpec =\n /(?:^|[\\\\/])(?:(\\w+)NativeComponent)\\.[jt]sx?$/i.test(filepath);\n\n if (looksLikeCodgenSpec) {\n // This is used in the babel plugin so needs to be synchronous\n const content = fs.readFileSync(filepath, 'utf8');\n\n // Regex taken from https://github.com/facebook/react-native/blob/271232d85654cee32322b1c8a3a39ef647ad02e2/packages/react-native-babel-preset/src/configs/main.js#L78C24-L78C47\n if (/\\bcodegenNativeComponent</.test(content)) {\n return true;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnB,SAASG,aAAaA,CAACC,QAAgB,EAAW;EACvD,MAAMC,mBAAmB,GACvB,gDAAgD,CAACC,IAAI,CAACF,QAAQ,CAAC;EAEjE,IAAIC,mBAAmB,EAAE;IACvB;IACA,MAAME,OAAO,GAAGC,gBAAE,CAACC,YAAY,CAACL,QAAQ,EAAE,MAAM,CAAC;;IAEjD;IACA,IAAI,2BAA2B,CAACE,IAAI,CAACC,OAAO,CAAC,EAAE;MAC7C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd","ignoreList":[]}
|
package/lib/utils/prompts.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = prompts;
|
|
7
7
|
var _prompts = _interopRequireDefault(require("prompts"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
function prompts(args, options) {
|
|
9
|
+
async function prompts(args, options) {
|
|
10
10
|
return (0, _prompts.default)(args, {
|
|
11
11
|
onCancel() {
|
|
12
12
|
process.exit(1);
|
package/lib/utils/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,
|
|
1
|
+
{"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default async function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,eAAeG,OAAOA,CACnCC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/lib/utils/spawn.js
CHANGED
|
@@ -24,7 +24,7 @@ const spawn = async (...args) => {
|
|
|
24
24
|
if (code === 0) {
|
|
25
25
|
resolve(stdout.trim());
|
|
26
26
|
} else {
|
|
27
|
-
const error = new Error(stderr.trim() || `Command exited with code ${code}`);
|
|
27
|
+
const error = new Error(stderr.trim() || `Command exited with code ${String(code)}`);
|
|
28
28
|
Object.defineProperties(error, {
|
|
29
29
|
stdout: {
|
|
30
30
|
enumerable: false,
|
package/lib/utils/spawn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","names":["_crossSpawn","_interopRequireDefault","require","e","__esModule","default","spawn","args","Promise","resolve","reject","child","crossSpawn","stdout","stderr","setEncoding","on","data","once","code","trim","error","Error","Object","defineProperties","enumerable","value","exports"],"sources":["../../src/utils/spawn.ts"],"sourcesContent":["import crossSpawn from 'cross-spawn';\n\nexport const spawn = async (...args: Parameters<typeof crossSpawn>) => {\n return new Promise<string>((resolve, reject) => {\n const child = crossSpawn(...args);\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.setEncoding('utf8');\n child.stdout?.on('data', (data) => {\n stdout += data;\n });\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', (code) => {\n if (code === 0) {\n resolve(stdout.trim());\n } else {\n const error = new Error(\n stderr.trim() || `Command exited with code ${code}`\n );\n\n Object.defineProperties(error, {\n stdout: {\n enumerable: false,\n value: stdout,\n },\n stderr: {\n enumerable: false,\n value: stderr,\n },\n code: {\n enumerable: false,\n value: code,\n },\n });\n\n reject(error);\n }\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,KAAK,GAAG,MAAAA,CAAO,GAAGC,IAAmC,KAAK;EACrE,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC9C,MAAMC,KAAK,GAAG,IAAAC,mBAAU,EAAC,GAAGL,IAAI,CAAC;IAEjC,IAAIM,MAAM,GAAG,EAAE;IACf,IAAIC,MAAM,GAAG,EAAE;IAEfH,KAAK,CAACE,MAAM,EAAEE,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACE,MAAM,EAAEG,EAAE,CAAC,MAAM,EAAGC,
|
|
1
|
+
{"version":3,"file":"spawn.js","names":["_crossSpawn","_interopRequireDefault","require","e","__esModule","default","spawn","args","Promise","resolve","reject","child","crossSpawn","stdout","stderr","setEncoding","on","data","once","code","trim","error","Error","String","Object","defineProperties","enumerable","value","exports"],"sources":["../../src/utils/spawn.ts"],"sourcesContent":["import crossSpawn from 'cross-spawn';\n\nexport const spawn = async (...args: Parameters<typeof crossSpawn>) => {\n return new Promise<string>((resolve, reject) => {\n const child = crossSpawn(...args);\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.setEncoding('utf8');\n child.stdout?.on('data', (data: string) => {\n stdout += data;\n });\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data: string) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', (code) => {\n if (code === 0) {\n resolve(stdout.trim());\n } else {\n const error = new Error(\n stderr.trim() || `Command exited with code ${String(code)}`\n );\n\n Object.defineProperties(error, {\n stdout: {\n enumerable: false,\n value: stdout,\n },\n stderr: {\n enumerable: false,\n value: stderr,\n },\n code: {\n enumerable: false,\n value: code,\n },\n });\n\n reject(error);\n }\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,KAAK,GAAG,MAAAA,CAAO,GAAGC,IAAmC,KAAK;EACrE,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC9C,MAAMC,KAAK,GAAG,IAAAC,mBAAU,EAAC,GAAGL,IAAI,CAAC;IAEjC,IAAIM,MAAM,GAAG,EAAE;IACf,IAAIC,MAAM,GAAG,EAAE;IAEfH,KAAK,CAACE,MAAM,EAAEE,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACE,MAAM,EAAEG,EAAE,CAAC,MAAM,EAAGC,IAAY,IAAK;MACzCJ,MAAM,IAAII,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACG,MAAM,EAAEC,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACG,MAAM,EAAEE,EAAE,CAAC,MAAM,EAAGC,IAAY,IAAK;MACzCH,MAAM,IAAIG,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACO,IAAI,CAAC,OAAO,EAAER,MAAM,CAAC;IAC3BC,KAAK,CAACO,IAAI,CAAC,OAAO,EAAGC,IAAI,IAAK;MAC5B,IAAIA,IAAI,KAAK,CAAC,EAAE;QACdV,OAAO,CAACI,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC;MACxB,CAAC,MAAM;QACL,MAAMC,KAAK,GAAG,IAAIC,KAAK,CACrBR,MAAM,CAACM,IAAI,CAAC,CAAC,IAAI,4BAA4BG,MAAM,CAACJ,IAAI,CAAC,EAC3D,CAAC;QAEDK,MAAM,CAACC,gBAAgB,CAACJ,KAAK,EAAE;UAC7BR,MAAM,EAAE;YACNa,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEd;UACT,CAAC;UACDC,MAAM,EAAE;YACNY,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEb;UACT,CAAC;UACDK,IAAI,EAAE;YACJO,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAER;UACT;QACF,CAAC,CAAC;QAEFT,MAAM,CAACW,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACO,OAAA,CAAAtB,KAAA,GAAAA,KAAA","ignoreList":[]}
|
package/lib/utils/workerize.js
CHANGED
|
@@ -57,7 +57,7 @@ const run = async (target, {
|
|
|
57
57
|
});
|
|
58
58
|
worker.on('exit', code => {
|
|
59
59
|
if (code !== 0) {
|
|
60
|
-
reject(new Error(`Worker exited with code ${code}`));
|
|
60
|
+
reject(new Error(`Worker exited with code ${String(code)}`));
|
|
61
61
|
} else {
|
|
62
62
|
resolve();
|
|
63
63
|
}
|
|
@@ -66,6 +66,7 @@ const run = async (target, {
|
|
|
66
66
|
};
|
|
67
67
|
exports.run = run;
|
|
68
68
|
if (!_nodeWorker_threads.isMainThread) {
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
69
70
|
const {
|
|
70
71
|
target,
|
|
71
72
|
data
|
|
@@ -90,7 +91,7 @@ if (!_nodeWorker_threads.isMainThread) {
|
|
|
90
91
|
};
|
|
91
92
|
if (target in targets) {
|
|
92
93
|
// @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581
|
|
93
|
-
targets[target]({
|
|
94
|
+
void targets[target]({
|
|
94
95
|
...data,
|
|
95
96
|
report
|
|
96
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report } from '../types';\nimport type { Target } from '../schema';\n\ntype WorkerData<T extends Target> = {\n target: T;\n data: Omit<Parameters<(typeof targets)[T]>[0], 'report'>;\n};\n\nconst targets = {\n commonjs,\n module,\n typescript,\n codegen,\n custom,\n} as const;\n\nexport const run = async <T extends Target>(\n target: T,\n { report, ...data }: Parameters<(typeof targets)[T]>[0]\n) => {\n if (!isMainThread) {\n throw new Error('Worker can only be run from the main thread');\n }\n\n return new Promise<void>((resolve, reject) => {\n const worker = new Worker(__filename, {\n workerData: {\n target,\n data,\n } satisfies WorkerData<T>,\n env: {\n ...process.env,\n FORCE_COLOR: process.stdout.isTTY ? '1' : '0',\n },\n });\n\n worker.on('message', (message) => {\n switch (message.type) {\n case 'info':\n report.info(message.message);\n break;\n case 'warn':\n report.warn(message.message);\n break;\n case 'error':\n report.error(message.message);\n break;\n case 'success':\n report.success(message.message);\n break;\n }\n });\n\n worker.on('error', (error) => {\n reject(error);\n });\n\n worker.on('exit', (code) => {\n if (code !== 0) {\n reject(new Error(`Worker exited with code ${code}`));\n } else {\n resolve();\n }\n });\n });\n};\n\nif (!isMainThread) {\n const { target, data } = workerData as WorkerData<Target>;\n\n const report: Report = {\n info: (message) => parentPort?.postMessage({ type: 'info', message }),\n warn: (message) => parentPort?.postMessage({ type: 'warn', message }),\n error: (message) => parentPort?.postMessage({ type: 'error', message }),\n success: (message) => parentPort?.postMessage({ type: 'success', message }),\n };\n\n if (target in targets) {\n // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581\n targets[target]({ ...data, report });\n } else {\n throw new Error(`Unknown target: ${target}`);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS/C,MAAMG,OAAO,GAAG;EACdC,QAAQ,EAARA,iBAAQ;EACRC,MAAM,EAANA,gBAAM;EACNC,UAAU,EAAVA,mBAAU;EACVC,OAAO,EAAPA,gBAAO;EACPC,MAAM,EAANA;AACF,CAAU;AAEH,MAAMC,GAAG,GAAG,MAAAA,CACjBC,MAAS,EACT;EAAEC,MAAM;EAAE,GAAGC;AAAyC,CAAC,KACpD;EACH,IAAI,CAACC,gCAAY,EAAE;IACjB,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;EAChE;EAEA,OAAO,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,MAAM,GAAG,IAAIC,0BAAM,CAACC,UAAU,EAAE;MACpCC,UAAU,EAAE;QACVX,MAAM;QACNE;MACF,CAAyB;MACzBU,GAAG,EAAE;QACH,GAAGC,OAAO,CAACD,GAAG;QACdE,WAAW,EAAED,OAAO,CAACE,MAAM,CAACC,KAAK,GAAG,GAAG,GAAG;MAC5C;IACF,CAAC,CAAC;IAEFR,MAAM,CAACS,EAAE,CAAC,SAAS,EAAGC,OAAO,IAAK;MAChC,QAAQA,OAAO,CAACC,IAAI;QAClB,KAAK,MAAM;UACTlB,MAAM,CAACmB,IAAI,CAACF,OAAO,CAACA,OAAO,CAAC;UAC5B;QACF,KAAK,MAAM;UACTjB,MAAM,CAACoB,IAAI,CAACH,OAAO,CAACA,OAAO,CAAC;UAC5B;QACF,KAAK,OAAO;UACVjB,MAAM,CAACqB,KAAK,CAACJ,OAAO,CAACA,OAAO,CAAC;UAC7B;QACF,KAAK,SAAS;UACZjB,MAAM,CAACsB,OAAO,CAACL,OAAO,CAACA,OAAO,CAAC;UAC/B;MACJ;IACF,CAAC,CAAC;IAEFV,MAAM,CAACS,EAAE,CAAC,OAAO,EAAGK,KAAK,IAAK;MAC5Bf,MAAM,CAACe,KAAK,CAAC;IACf,CAAC,CAAC;IAEFd,MAAM,CAACS,EAAE,CAAC,MAAM,EAAGO,IAAI,IAAK;MAC1B,IAAIA,IAAI,KAAK,CAAC,EAAE;QACdjB,MAAM,CAAC,IAAIH,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","String","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report } from '../types';\nimport type { Target } from '../schema';\n\ntype WorkerData<T extends Target> = {\n target: T;\n data: Omit<Parameters<(typeof targets)[T]>[0], 'report'>;\n};\n\nconst targets = {\n commonjs,\n module,\n typescript,\n codegen,\n custom,\n} as const;\n\nexport const run = async <T extends Target>(\n target: T,\n { report, ...data }: Parameters<(typeof targets)[T]>[0]\n) => {\n if (!isMainThread) {\n throw new Error('Worker can only be run from the main thread');\n }\n\n return new Promise<void>((resolve, reject) => {\n const worker = new Worker(__filename, {\n workerData: {\n target,\n data,\n } satisfies WorkerData<T>,\n env: {\n ...process.env,\n FORCE_COLOR: process.stdout.isTTY ? '1' : '0',\n },\n });\n\n worker.on('message', (message) => {\n switch (message.type) {\n case 'info':\n report.info(message.message);\n break;\n case 'warn':\n report.warn(message.message);\n break;\n case 'error':\n report.error(message.message);\n break;\n case 'success':\n report.success(message.message);\n break;\n }\n });\n\n worker.on('error', (error) => {\n reject(error);\n });\n\n worker.on('exit', (code) => {\n if (code !== 0) {\n reject(new Error(`Worker exited with code ${String(code)}`));\n } else {\n resolve();\n }\n });\n });\n};\n\nif (!isMainThread) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const { target, data } = workerData as WorkerData<Target>;\n\n const report: Report = {\n info: (message) => parentPort?.postMessage({ type: 'info', message }),\n warn: (message) => parentPort?.postMessage({ type: 'warn', message }),\n error: (message) => parentPort?.postMessage({ type: 'error', message }),\n success: (message) => parentPort?.postMessage({ type: 'success', message }),\n };\n\n if (target in targets) {\n // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581\n void targets[target]({ ...data, report });\n } else {\n throw new Error(`Unknown target: ${target}`);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS/C,MAAMG,OAAO,GAAG;EACdC,QAAQ,EAARA,iBAAQ;EACRC,MAAM,EAANA,gBAAM;EACNC,UAAU,EAAVA,mBAAU;EACVC,OAAO,EAAPA,gBAAO;EACPC,MAAM,EAANA;AACF,CAAU;AAEH,MAAMC,GAAG,GAAG,MAAAA,CACjBC,MAAS,EACT;EAAEC,MAAM;EAAE,GAAGC;AAAyC,CAAC,KACpD;EACH,IAAI,CAACC,gCAAY,EAAE;IACjB,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;EAChE;EAEA,OAAO,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,MAAM,GAAG,IAAIC,0BAAM,CAACC,UAAU,EAAE;MACpCC,UAAU,EAAE;QACVX,MAAM;QACNE;MACF,CAAyB;MACzBU,GAAG,EAAE;QACH,GAAGC,OAAO,CAACD,GAAG;QACdE,WAAW,EAAED,OAAO,CAACE,MAAM,CAACC,KAAK,GAAG,GAAG,GAAG;MAC5C;IACF,CAAC,CAAC;IAEFR,MAAM,CAACS,EAAE,CAAC,SAAS,EAAGC,OAAO,IAAK;MAChC,QAAQA,OAAO,CAACC,IAAI;QAClB,KAAK,MAAM;UACTlB,MAAM,CAACmB,IAAI,CAACF,OAAO,CAACA,OAAO,CAAC;UAC5B;QACF,KAAK,MAAM;UACTjB,MAAM,CAACoB,IAAI,CAACH,OAAO,CAACA,OAAO,CAAC;UAC5B;QACF,KAAK,OAAO;UACVjB,MAAM,CAACqB,KAAK,CAACJ,OAAO,CAACA,OAAO,CAAC;UAC7B;QACF,KAAK,SAAS;UACZjB,MAAM,CAACsB,OAAO,CAACL,OAAO,CAACA,OAAO,CAAC;UAC/B;MACJ;IACF,CAAC,CAAC;IAEFV,MAAM,CAACS,EAAE,CAAC,OAAO,EAAGK,KAAK,IAAK;MAC5Bf,MAAM,CAACe,KAAK,CAAC;IACf,CAAC,CAAC;IAEFd,MAAM,CAACS,EAAE,CAAC,MAAM,EAAGO,IAAI,IAAK;MAC1B,IAAIA,IAAI,KAAK,CAAC,EAAE;QACdjB,MAAM,CAAC,IAAIH,KAAK,CAAC,2BAA2BqB,MAAM,CAACD,IAAI,CAAC,EAAE,CAAC,CAAC;MAC9D,CAAC,MAAM;QACLlB,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACoB,OAAA,CAAA3B,GAAA,GAAAA,GAAA;AAEF,IAAI,CAACI,gCAAY,EAAE;EACjB;EACA,MAAM;IAAEH,MAAM;IAAEE;EAAK,CAAC,GAAGS,8BAAgC;EAEzD,MAAMV,MAAc,GAAG;IACrBmB,IAAI,EAAGF,OAAO,IAAKS,8BAAU,EAAEC,WAAW,CAAC;MAAET,IAAI,EAAE,MAAM;MAAED;IAAQ,CAAC,CAAC;IACrEG,IAAI,EAAGH,OAAO,IAAKS,8BAAU,EAAEC,WAAW,CAAC;MAAET,IAAI,EAAE,MAAM;MAAED;IAAQ,CAAC,CAAC;IACrEI,KAAK,EAAGJ,OAAO,IAAKS,8BAAU,EAAEC,WAAW,CAAC;MAAET,IAAI,EAAE,OAAO;MAAED;IAAQ,CAAC,CAAC;IACvEK,OAAO,EAAGL,OAAO,IAAKS,8BAAU,EAAEC,WAAW,CAAC;MAAET,IAAI,EAAE,SAAS;MAAED;IAAQ,CAAC;EAC5E,CAAC;EAED,IAAIlB,MAAM,IAAIP,OAAO,EAAE;IACrB;IACA,KAAKA,OAAO,CAACO,MAAM,CAAC,CAAC;MAAE,GAAGE,IAAI;MAAED;IAAO,CAAC,CAAC;EAC3C,CAAC,MAAM;IACL,MAAM,IAAIG,KAAK,CAAC,mBAAmBJ,MAAM,EAAE,CAAC;EAC9C;AACF","ignoreList":[]}
|
package/metro-config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-require-imports, import-x/no-commonjs, no-undef */
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/no-require-imports, import-x/no-commonjs, no-undef */
|
|
2
2
|
|
|
3
3
|
const { withMetroConfig } = require('react-native-monorepo-config');
|
|
4
4
|
|
|
@@ -7,6 +7,8 @@ const { withMetroConfig } = require('react-native-monorepo-config');
|
|
|
7
7
|
* This sets up appropriate root and watch folders for the library.
|
|
8
8
|
* It also excludes conflicting modules and aliases them to the correct place.
|
|
9
9
|
*
|
|
10
|
+
* @deprecated use `react-native-monorepo-config` instead
|
|
11
|
+
*
|
|
10
12
|
* @param {import('metro-config').MetroConfig} baseConfig Base Metro configuration
|
|
11
13
|
* @param {object} options Options to customize the configuration
|
|
12
14
|
* @param {string} options.root Root directory of the monorepo
|
|
@@ -14,4 +16,5 @@ const { withMetroConfig } = require('react-native-monorepo-config');
|
|
|
14
16
|
* @returns {import('metro-config').MetroConfig} Metro configuration
|
|
15
17
|
*/
|
|
16
18
|
exports.getConfig = (baseConfig, { root, project }) =>
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
17
20
|
withMetroConfig(baseConfig, { root, dirname: project });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.11",
|
|
4
4
|
"description": "CLI to build JavaScript files for React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"mock-stdin": "^1.0.0",
|
|
84
84
|
"vitest": "^3.1.1"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "d02ae54a99d8fd62773a0d9523b11628012665bf"
|
|
87
87
|
}
|