react-native-builder-bob 0.40.4 → 0.40.5

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.
@@ -9,8 +9,8 @@ var _patchCodegenAndroidPackage = require("./patches/patchCodegenAndroidPackage"
9
9
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
10
  var _path = _interopRequireDefault(require("path"));
11
11
  var _del = _interopRequireDefault(require("del"));
12
- var _runRNCCli = require("../../utils/runRNCCli");
13
12
  var _removeCodegenAppLevelCode = require("./patches/removeCodegenAppLevelCode");
13
+ var _spawn = require("../../utils/spawn");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  async function build({
16
16
  root,
@@ -33,7 +33,7 @@ async function build({
33
33
  throw new Error("Couldn't find the 'type' value in 'codegenConfig'. Please check your package.json's 'codegenConfig' property and make sure 'type' is defined. https://reactnative.dev/docs/the-new-architecture/using-codegen#configuring-codegen");
34
34
  }
35
35
  try {
36
- await (0, _runRNCCli.runRNCCli)(['codegen']);
36
+ await (0, _spawn.spawn)('npx', ['@react-native-community/cli', 'codegen']);
37
37
  if (codegenType === 'modules' || codegenType === 'all') {
38
38
  await (0, _patchCodegenAndroidPackage.patchCodegenAndroidPackage)(root, packageJson, report);
39
39
  }
@@ -42,14 +42,16 @@ async function build({
42
42
  } catch (e) {
43
43
  if (e != null && typeof e === 'object') {
44
44
  if ('stdout' in e && e.stdout != null) {
45
- throw new Error(`Errors found while generating codegen files:\n${e.stdout.toString()}`);
45
+ report.error(`Errors found while running codegen:\n\n${e.stdout.toString()}`);
46
46
  } else if ('message' in e && typeof e.message === 'string') {
47
47
  if (e.message.includes("Error: Cannot find module '@react-native-community/cli/package.json'")) {
48
- throw new Error("You don't have `@react-native-community/cli` in your root package's dev dependencies. Please install it and make sure it uses the same version as your application.");
48
+ report.error("You don't have `@react-native-community/cli` in your root package's dev dependencies. Please install it and make sure it uses the same version as your application.");
49
49
  }
50
50
  }
51
51
  }
52
- throw e;
52
+ throw new Error('Failed to run codegen.', {
53
+ cause: e
54
+ });
53
55
  }
54
56
  }
55
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_kleur","_interopRequireDefault","require","_patchCodegenAndroidPackage","_fsExtra","_path","_del","_runRNCCli","_removeCodegenAppLevelCode","e","__esModule","default","build","root","report","packageJsonPath","path","resolve","packageJson","fs","readJson","codegenIosPath","codegenConfig","outputDir","ios","info","kleur","blue","relative","del","codegenAndroidPath","android","codegenType","type","undefined","Error","runRNCCli","patchCodegenAndroidPackage","removeCodegenAppLevelCode","success","stdout","toString","message","includes"],"sources":["../../../src/targets/codegen/index.ts"],"sourcesContent":["import kleur from 'kleur';\nimport type { Input } from '../../types';\nimport { patchCodegenAndroidPackage } from './patches/patchCodegenAndroidPackage';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport del from 'del';\nimport { runRNCCli } from '../../utils/runRNCCli';\nimport { removeCodegenAppLevelCode } from './patches/removeCodegenAppLevelCode';\n\ntype Options = Omit<Input, 'output'>;\n\nexport default async function build({ root, report }: Options) {\n const packageJsonPath = path.resolve(root, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n const codegenIosPath = packageJson.codegenConfig?.outputDir?.ios;\n if (codegenIosPath != null) {\n report.info(\n `Cleaning up previous iOS codegen native code at ${kleur.blue(\n path.relative(root, codegenIosPath)\n )}`\n );\n await del([codegenIosPath]);\n }\n\n const codegenAndroidPath = packageJson.codegenConfig?.outputDir?.android;\n if (codegenAndroidPath != null) {\n report.info(\n `Cleaning up previous Android codegen native code at ${kleur.blue(\n path.relative(root, codegenAndroidPath)\n )}`\n );\n await del([codegenAndroidPath]);\n }\n\n const codegenType = packageJson.codegenConfig?.type;\n\n if (codegenType === undefined) {\n throw new Error(\n \"Couldn't find the 'type' value in 'codegenConfig'. Please check your package.json's 'codegenConfig' property and make sure 'type' is defined. https://reactnative.dev/docs/the-new-architecture/using-codegen#configuring-codegen\"\n );\n }\n\n try {\n await runRNCCli(['codegen']);\n\n if (codegenType === 'modules' || codegenType === 'all') {\n await patchCodegenAndroidPackage(root, packageJson, report);\n }\n await removeCodegenAppLevelCode(root, packageJson);\n\n report.success('Generated native code with codegen');\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n throw new Error(\n `Errors found while generating codegen files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n if (\n e.message.includes(\n \"Error: Cannot find module '@react-native-community/cli/package.json'\"\n )\n ) {\n throw new Error(\n \"You don't have `@react-native-community/cli` in your root package's dev dependencies. Please install it and make sure it uses the same version as your application.\"\n );\n }\n }\n }\n\n throw e;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,0BAAA,GAAAN,OAAA;AAAgF,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIjE,eAAeG,KAAKA,CAAC;EAAEC,IAAI;EAAEC;AAAgB,CAAC,EAAE;EAC7D,MAAMC,eAAe,GAAGC,aAAI,CAACC,OAAO,CAACJ,IAAI,EAAE,cAAc,CAAC;EAC1D,MAAMK,WAAW,GAAG,MAAMC,gBAAE,CAACC,QAAQ,CAACL,eAAe,CAAC;EAEtD,MAAMM,cAAc,GAAGH,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEC,GAAG;EAChE,IAAIH,cAAc,IAAI,IAAI,EAAE;IAC1BP,MAAM,CAACW,IAAI,CACT,mDAAmDC,cAAK,CAACC,IAAI,CAC3DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEQ,cAAc,CACpC,CAAC,EACH,CAAC;IACD,MAAM,IAAAQ,YAAG,EAAC,CAACR,cAAc,CAAC,CAAC;EAC7B;EAEA,MAAMS,kBAAkB,GAAGZ,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEQ,OAAO;EACxE,IAAID,kBAAkB,IAAI,IAAI,EAAE;IAC9BhB,MAAM,CAACW,IAAI,CACT,uDAAuDC,cAAK,CAACC,IAAI,CAC/DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEiB,kBAAkB,CACxC,CAAC,EACH,CAAC;IACD,MAAM,IAAAD,YAAG,EAAC,CAACC,kBAAkB,CAAC,CAAC;EACjC;EAEA,MAAME,WAAW,GAAGd,WAAW,CAACI,aAAa,EAAEW,IAAI;EAEnD,IAAID,WAAW,KAAKE,SAAS,EAAE;IAC7B,MAAM,IAAIC,KAAK,CACb,mOACF,CAAC;EACH;EAEA,IAAI;IACF,MAAM,IAAAC,oBAAS,EAAC,CAAC,SAAS,CAAC,CAAC;IAE5B,IAAIJ,WAAW,KAAK,SAAS,IAAIA,WAAW,KAAK,KAAK,EAAE;MACtD,MAAM,IAAAK,sDAA0B,EAACxB,IAAI,EAAEK,WAAW,EAAEJ,MAAM,CAAC;IAC7D;IACA,MAAM,IAAAwB,oDAAyB,EAACzB,IAAI,EAAEK,WAAW,CAAC;IAElDJ,MAAM,CAACyB,OAAO,CAAC,oCAAoC,CAAC;EACtD,CAAC,CAAC,OAAO9B,CAAU,EAAE;IACnB,IAAIA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACtC,IAAI,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAAC+B,MAAM,IAAI,IAAI,EAAE;QACrC,MAAM,IAAIL,KAAK,CACb,iDAAiD1B,CAAC,CAAC+B,MAAM,CAACC,QAAQ,CAAC,CAAC,EACtE,CAAC;MACH,CAAC,MAAM,IAAI,SAAS,IAAIhC,CAAC,IAAI,OAAOA,CAAC,CAACiC,OAAO,KAAK,QAAQ,EAAE;QAC1D,IACEjC,CAAC,CAACiC,OAAO,CAACC,QAAQ,CAChB,sEACF,CAAC,EACD;UACA,MAAM,IAAIR,KAAK,CACb,qKACF,CAAC;QACH;MACF;IACF;IAEA,MAAM1B,CAAC;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_kleur","_interopRequireDefault","require","_patchCodegenAndroidPackage","_fsExtra","_path","_del","_removeCodegenAppLevelCode","_spawn","e","__esModule","default","build","root","report","packageJsonPath","path","resolve","packageJson","fs","readJson","codegenIosPath","codegenConfig","outputDir","ios","info","kleur","blue","relative","del","codegenAndroidPath","android","codegenType","type","undefined","Error","spawn","patchCodegenAndroidPackage","removeCodegenAppLevelCode","success","stdout","error","toString","message","includes","cause"],"sources":["../../../src/targets/codegen/index.ts"],"sourcesContent":["import kleur from 'kleur';\nimport type { Input } from '../../types';\nimport { patchCodegenAndroidPackage } from './patches/patchCodegenAndroidPackage';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport del from 'del';\nimport { removeCodegenAppLevelCode } from './patches/removeCodegenAppLevelCode';\nimport { spawn } from '../../utils/spawn';\n\ntype Options = Omit<Input, 'output'>;\n\nexport default async function build({ root, report }: Options) {\n const packageJsonPath = path.resolve(root, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n const codegenIosPath = packageJson.codegenConfig?.outputDir?.ios;\n if (codegenIosPath != null) {\n report.info(\n `Cleaning up previous iOS codegen native code at ${kleur.blue(\n path.relative(root, codegenIosPath)\n )}`\n );\n await del([codegenIosPath]);\n }\n\n const codegenAndroidPath = packageJson.codegenConfig?.outputDir?.android;\n if (codegenAndroidPath != null) {\n report.info(\n `Cleaning up previous Android codegen native code at ${kleur.blue(\n path.relative(root, codegenAndroidPath)\n )}`\n );\n await del([codegenAndroidPath]);\n }\n\n const codegenType = packageJson.codegenConfig?.type;\n\n if (codegenType === undefined) {\n throw new Error(\n \"Couldn't find the 'type' value in 'codegenConfig'. Please check your package.json's 'codegenConfig' property and make sure 'type' is defined. https://reactnative.dev/docs/the-new-architecture/using-codegen#configuring-codegen\"\n );\n }\n\n try {\n await spawn('npx', ['@react-native-community/cli', 'codegen']);\n\n if (codegenType === 'modules' || codegenType === 'all') {\n await patchCodegenAndroidPackage(root, packageJson, report);\n }\n await removeCodegenAppLevelCode(root, packageJson);\n\n report.success('Generated native code with codegen');\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 while running codegen:\\n\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n if (\n e.message.includes(\n \"Error: Cannot find module '@react-native-community/cli/package.json'\"\n )\n ) {\n report.error(\n \"You don't have `@react-native-community/cli` in your root package's dev dependencies. Please install it and make sure it uses the same version as your application.\"\n );\n }\n }\n }\n\n throw new Error('Failed to run codegen.', { cause: e });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,0BAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA0C,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3B,eAAeG,KAAKA,CAAC;EAAEC,IAAI;EAAEC;AAAgB,CAAC,EAAE;EAC7D,MAAMC,eAAe,GAAGC,aAAI,CAACC,OAAO,CAACJ,IAAI,EAAE,cAAc,CAAC;EAC1D,MAAMK,WAAW,GAAG,MAAMC,gBAAE,CAACC,QAAQ,CAACL,eAAe,CAAC;EAEtD,MAAMM,cAAc,GAAGH,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEC,GAAG;EAChE,IAAIH,cAAc,IAAI,IAAI,EAAE;IAC1BP,MAAM,CAACW,IAAI,CACT,mDAAmDC,cAAK,CAACC,IAAI,CAC3DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEQ,cAAc,CACpC,CAAC,EACH,CAAC;IACD,MAAM,IAAAQ,YAAG,EAAC,CAACR,cAAc,CAAC,CAAC;EAC7B;EAEA,MAAMS,kBAAkB,GAAGZ,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEQ,OAAO;EACxE,IAAID,kBAAkB,IAAI,IAAI,EAAE;IAC9BhB,MAAM,CAACW,IAAI,CACT,uDAAuDC,cAAK,CAACC,IAAI,CAC/DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEiB,kBAAkB,CACxC,CAAC,EACH,CAAC;IACD,MAAM,IAAAD,YAAG,EAAC,CAACC,kBAAkB,CAAC,CAAC;EACjC;EAEA,MAAME,WAAW,GAAGd,WAAW,CAACI,aAAa,EAAEW,IAAI;EAEnD,IAAID,WAAW,KAAKE,SAAS,EAAE;IAC7B,MAAM,IAAIC,KAAK,CACb,mOACF,CAAC;EACH;EAEA,IAAI;IACF,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;IAE9D,IAAIJ,WAAW,KAAK,SAAS,IAAIA,WAAW,KAAK,KAAK,EAAE;MACtD,MAAM,IAAAK,sDAA0B,EAACxB,IAAI,EAAEK,WAAW,EAAEJ,MAAM,CAAC;IAC7D;IACA,MAAM,IAAAwB,oDAAyB,EAACzB,IAAI,EAAEK,WAAW,CAAC;IAElDJ,MAAM,CAACyB,OAAO,CAAC,oCAAoC,CAAC;EACtD,CAAC,CAAC,OAAO9B,CAAU,EAAE;IACnB,IAAIA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACtC,IAAI,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAAC+B,MAAM,IAAI,IAAI,EAAE;QACrC1B,MAAM,CAAC2B,KAAK,CACV,0CAA0ChC,CAAC,CAAC+B,MAAM,CAACE,QAAQ,CAAC,CAAC,EAC/D,CAAC;MACH,CAAC,MAAM,IAAI,SAAS,IAAIjC,CAAC,IAAI,OAAOA,CAAC,CAACkC,OAAO,KAAK,QAAQ,EAAE;QAC1D,IACElC,CAAC,CAACkC,OAAO,CAACC,QAAQ,CAChB,sEACF,CAAC,EACD;UACA9B,MAAM,CAAC2B,KAAK,CACV,qKACF,CAAC;QACH;MACF;IACF;IAEA,MAAM,IAAIN,KAAK,CAAC,wBAAwB,EAAE;MAAEU,KAAK,EAAEpC;IAAE,CAAC,CAAC;EACzD;AACF","ignoreList":[]}
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = build;
7
- var _kleur = _interopRequireDefault(require("kleur"));
8
- var _path = _interopRequireDefault(require("path"));
9
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
- var _which = _interopRequireDefault(require("which"));
11
- var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
12
7
  var _del = _interopRequireDefault(require("del"));
8
+ var _fsExtra = _interopRequireDefault(require("fs-extra"));
13
9
  var _json = _interopRequireDefault(require("json5"));
10
+ var _kleur = _interopRequireDefault(require("kleur"));
14
11
  var _os = require("os");
12
+ var _path = _interopRequireDefault(require("path"));
13
+ var _which = _interopRequireDefault(require("which"));
14
+ var _spawn = require("../utils/spawn");
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  async function build({
17
17
  source,
@@ -59,12 +59,10 @@ async function build({
59
59
  const execpath = process.env.npm_execpath;
60
60
  const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';
61
61
  if (cli === 'yarn') {
62
- const result = _crossSpawn.default.sync('yarn', ['bin', 'tsc'], {
63
- stdio: 'pipe',
64
- encoding: 'utf-8',
62
+ const result = await (0, _spawn.spawn)('yarn', ['bin', 'tsc'], {
65
63
  cwd: root
66
64
  });
67
- tsc = result.stdout.trim();
65
+ tsc = result.trim();
68
66
  } else {
69
67
  tsc = _path.default.resolve(root, 'node_modules', '.bin', 'tsc');
70
68
  }
@@ -104,103 +102,98 @@ async function build({
104
102
  } catch (e) {
105
103
  // Ignore
106
104
  }
107
- const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outDir], {
108
- stdio: 'inherit',
105
+ await (0, _spawn.spawn)(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outDir], {
109
106
  cwd: root
110
107
  });
111
- if (result.status === 0) {
112
- await (0, _del.default)([tsbuildinfo]);
113
- if (esm) {
114
- if (outputs?.commonjs && outputs?.module) {
115
- // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm
116
- // In this case we copy the already generated types, and add `package.json` with `type` field
117
- await _fsExtra.default.copy(outputs.commonjs, outputs.module);
118
- await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
119
- type: 'commonjs'
120
- });
121
- await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
122
- type: 'module'
123
- });
124
- } else if (outputs?.commonjs) {
125
- await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
126
- type: 'commonjs'
127
- });
128
- } else if (outputs?.module) {
129
- await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
130
- type: 'module'
131
- });
132
- }
108
+ await (0, _del.default)([tsbuildinfo]);
109
+ if (esm) {
110
+ if (outputs?.commonjs && outputs?.module) {
111
+ // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm
112
+ // In this case we copy the already generated types, and add `package.json` with `type` field
113
+ await _fsExtra.default.copy(outputs.commonjs, outputs.module);
114
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
115
+ type: 'commonjs'
116
+ });
117
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
118
+ type: 'module'
119
+ });
120
+ } else if (outputs?.commonjs) {
121
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
122
+ type: 'commonjs'
123
+ });
124
+ } else if (outputs?.module) {
125
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
126
+ type: 'module'
127
+ });
133
128
  }
134
- report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
135
- const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
136
- const fields = [{
137
- name: 'types',
138
- value: pkg.types,
139
- output: outputs.commonjs,
140
- error: false,
141
- message: undefined
142
- }, ...(pkg.exports?.['.']?.types ? [{
143
- name: "exports['.'].types",
144
- value: pkg.exports?.['.']?.types,
145
- output: outDir,
146
- error: Boolean(pkg.exports?.['.']?.import && pkg.exports?.['.']?.require),
147
- message: `using ${_kleur.default.blue("exports['.'].import")} and ${_kleur.default.blue("exports['.'].require")}. Specify ${_kleur.default.blue("exports['.'].import.types")} and ${_kleur.default.blue("exports['.'].require.types")} instead.`
148
- }] : []), {
149
- name: "exports['.'].import.types",
150
- value: pkg.exports?.['.']?.import?.types,
151
- output: outputs.module,
152
- error: !esm,
153
- message: `the ${_kleur.default.blue('esm')} option is not enabled for the ${_kleur.default.blue('module')} target`
154
- }, {
155
- name: "exports['.'].require.types",
156
- value: pkg.exports?.['.']?.require?.types,
157
- output: outputs.commonjs,
158
- error: false,
159
- message: undefined
160
- }];
161
- const getGeneratedTypesPath = async field => {
162
- if (!field.output || field.error) {
163
- return null;
164
- }
165
- if (pkg.source) {
166
- const indexDTsName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
167
- const potentialPaths = [_path.default.join(field.output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(field.output, _path.default.relative(source, _path.default.join(root, _path.default.dirname(pkg.source))), indexDTsName)];
168
- for (const potentialPath of potentialPaths) {
169
- if (await _fsExtra.default.pathExists(potentialPath)) {
170
- return _path.default.relative(root, potentialPath);
171
- }
172
- }
173
- }
129
+ }
130
+ report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
131
+ const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
132
+ const fields = [{
133
+ name: 'types',
134
+ value: pkg.types,
135
+ output: outputs.commonjs,
136
+ error: false,
137
+ message: undefined
138
+ }, ...(pkg.exports?.['.']?.types ? [{
139
+ name: "exports['.'].types",
140
+ value: pkg.exports?.['.']?.types,
141
+ output: outDir,
142
+ error: Boolean(pkg.exports?.['.']?.import && pkg.exports?.['.']?.require),
143
+ message: `using ${_kleur.default.blue("exports['.'].import")} and ${_kleur.default.blue("exports['.'].require")}. Specify ${_kleur.default.blue("exports['.'].import.types")} and ${_kleur.default.blue("exports['.'].require.types")} instead.`
144
+ }] : []), {
145
+ name: "exports['.'].import.types",
146
+ value: pkg.exports?.['.']?.import?.types,
147
+ output: outputs.module,
148
+ error: !esm,
149
+ message: `the ${_kleur.default.blue('esm')} option is not enabled for the ${_kleur.default.blue('module')} target`
150
+ }, {
151
+ name: "exports['.'].require.types",
152
+ value: pkg.exports?.['.']?.require?.types,
153
+ output: outputs.commonjs,
154
+ error: false,
155
+ message: undefined
156
+ }];
157
+ const getGeneratedTypesPath = async field => {
158
+ if (!field.output || field.error) {
174
159
  return null;
175
- };
176
- const invalidFieldNames = (await Promise.all(fields.map(async field => {
177
- if (field.error) {
178
- if (field.value) {
179
- report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${field.message}.`);
160
+ }
161
+ if (pkg.source) {
162
+ const indexDTsName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
163
+ const potentialPaths = [_path.default.join(field.output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(field.output, _path.default.relative(source, _path.default.join(root, _path.default.dirname(pkg.source))), indexDTsName)];
164
+ for (const potentialPath of potentialPaths) {
165
+ if (await _fsExtra.default.pathExists(potentialPath)) {
166
+ return _path.default.relative(root, potentialPath);
180
167
  }
181
- return null;
182
- }
183
- if (field.name.startsWith('exports') && field.value && !/^\.\//.test(field.value)) {
184
- report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(field.value)}`);
185
- return field.name;
186
168
  }
187
- if (field.value && !(await _fsExtra.default.pathExists(_path.default.join(root, field.value)))) {
188
- const generatedTypesPath = await getGeneratedTypesPath(field);
189
- report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(field.value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
190
- return field.name;
169
+ }
170
+ return null;
171
+ };
172
+ const invalidFieldNames = (await Promise.all(fields.map(async field => {
173
+ if (field.error) {
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}.`);
191
176
  }
192
177
  return null;
193
- }))).filter(name => name != null);
194
- if (invalidFieldNames.length) {
195
- throw new Error(`Found errors for fields: ${invalidFieldNames.join(', ')}.`);
196
178
  }
197
- const validFields = fields.filter(field => !field.error);
198
- if (validFields.every(field => field.value == null)) {
199
- const suggestedTypesPaths = (await Promise.all(validFields.map(field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
200
- 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.`);
179
+ if (field.name.startsWith('exports') && field.value && !/^\.\//.test(field.value)) {
180
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(field.value)}`);
181
+ return field.name;
201
182
  }
202
- } else {
203
- throw new Error('Failed to build definition files.');
183
+ if (field.value && !(await _fsExtra.default.pathExists(_path.default.join(root, field.value)))) {
184
+ const generatedTypesPath = await getGeneratedTypesPath(field);
185
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(field.value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
186
+ return field.name;
187
+ }
188
+ return null;
189
+ }))).filter(name => name != null);
190
+ if (invalidFieldNames.length) {
191
+ throw new Error(`Found errors for fields: ${invalidFieldNames.join(', ')}.`);
192
+ }
193
+ const validFields = fields.filter(field => !field.error);
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);
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.`);
204
197
  }
205
198
  } catch (e) {
206
199
  if (e != null && typeof e === 'object') {
@@ -208,13 +201,11 @@ async function build({
208
201
  report.error(`Errors found when building definition files:\n${e.stdout.toString()}`);
209
202
  } else if ('message' in e && typeof e.message === 'string') {
210
203
  report.error(e.message);
211
- } else {
212
- throw e;
213
204
  }
214
- } else {
215
- throw e;
216
205
  }
217
- throw new Error('Failed to build definition files.');
206
+ throw new Error('Failed to build definition files.', {
207
+ cause: e
208
+ });
218
209
  }
219
210
  }
220
211
  //# sourceMappingURL=typescript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","e","__esModule","default","build","source","root","output","report","options","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","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","status","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","toString"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input, Variants } from '../types';\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 = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const 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 const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\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 } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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","ignoreList":[]}
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 +1 @@
1
- {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","e","__esModule","default","androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAA8B,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASf,eAAeG,eAAeA,CAAC;EAC5CC,IAAI;EACJC,WAAW;EACXC;AACO,CAAC,EAAE;EACV,MAAMC,GAAG,GAAGC,aAAI,CAACC,QAAQ,CAACL,IAAI,EAAEC,WAAW,CAAC;EAE5CC,MAAM,CAACI,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAC,SAASI,cAAK,CAACC,IAAI,CACjE,QACF,CAAC,EACH,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAC,YAAQ,EAAC,CAAC,KAAK,OAAO,GAAG,aAAa,GAAG,WAAW;EAC1E,IAAI,MAAMC,gBAAE,CAACC,UAAU,CAACR,aAAI,CAACS,IAAI,CAACZ,WAAW,EAAEQ,aAAa,CAAC,CAAC,EAAE;IAC9D,IAAAK,2BAAY,EAACL,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;MAAEN,GAAG,EAAEF;IAAY,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,MAAM,IAAIc,KAAK,CACb,OAAOR,cAAK,CAACC,IAAI,CACf,SACF,CAAC,sCAAsCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAC,4CAA4CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAC,qBACH,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","e","__esModule","default","androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAA8B,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASf,eAAeG,eAAeA,CAAC;EAC5CC,IAAI;EACJC,WAAW;EACXC;AACO,CAAC,EAAE;EACV,MAAMC,GAAG,GAAGC,aAAI,CAACC,QAAQ,CAACL,IAAI,EAAEC,WAAW,CAAC;EAE5CC,MAAM,CAACI,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAC,SAASI,cAAK,CAACC,IAAI,CACjE,QACF,CAAC,EACH,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAC,YAAQ,EAAC,CAAC,KAAK,OAAO,GAAG,aAAa,GAAG,WAAW;EAE1E,IAAI,MAAMC,gBAAE,CAACC,UAAU,CAACR,aAAI,CAACS,IAAI,CAACZ,WAAW,EAAEQ,aAAa,CAAC,CAAC,EAAE;IAC9D,IAAAK,2BAAY,EAACL,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;MAAEN,GAAG,EAAEF;IAAY,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,MAAM,IAAIc,KAAK,CACb,OAAOR,cAAK,CAACC,IAAI,CACf,SACF,CAAC,sCAAsCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAC,4CAA4CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAC,qBACH,CAAC;EACH;AACF","ignoreList":[]}
@@ -197,7 +197,9 @@ async function compile({
197
197
  report.warn(`Failed to detect the entry point for the generated files. Make sure you have a valid ${_kleur.default.blue('source')} field in your ${_kleur.default.blue('package.json')}.`);
198
198
  }
199
199
  report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedEntryPath ? ` (found ${_kleur.default.blue(generatedEntryPath)}).` : '.'}`);
200
- throw new Error(`Found incorrect path in '${name}' field.`);
200
+ throw new Error(`Found incorrect path in '${name}' field.`, {
201
+ cause: e
202
+ });
201
203
  }
202
204
  throw e;
203
205
  }
@@ -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"],"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 }\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 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":[]}
@@ -24,7 +24,22 @@ const spawn = async (...args) => {
24
24
  if (code === 0) {
25
25
  resolve(stdout.trim());
26
26
  } else {
27
- reject(new Error(stderr.trim()));
27
+ const error = new Error(stderr.trim() || `Command exited with code ${code}`);
28
+ Object.defineProperties(error, {
29
+ stdout: {
30
+ enumerable: false,
31
+ value: stdout
32
+ },
33
+ stderr: {
34
+ enumerable: false,
35
+ value: stderr
36
+ },
37
+ code: {
38
+ enumerable: false,
39
+ value: code
40
+ }
41
+ });
42
+ reject(error);
28
43
  }
29
44
  });
30
45
  });
@@ -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","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 reject(new Error(stderr.trim()));\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,IAAI,IAAK;MACjCJ,MAAM,IAAII,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACG,MAAM,EAAEC,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACG,MAAM,EAAEE,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;MACjCH,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;QACLV,MAAM,CAAC,IAAIW,KAAK,CAACP,MAAM,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;MAClC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAhB,KAAA,GAAAA,KAAA","ignoreList":[]}
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,IAAI,IAAK;MACjCJ,MAAM,IAAII,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACG,MAAM,EAAEC,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACG,MAAM,EAAEE,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;MACjCH,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,4BAA4BD,IAAI,EACnD,CAAC;QAEDI,MAAM,CAACC,gBAAgB,CAACH,KAAK,EAAE;UAC7BR,MAAM,EAAE;YACNY,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEb;UACT,CAAC;UACDC,MAAM,EAAE;YACNW,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEZ;UACT,CAAC;UACDK,IAAI,EAAE;YACJM,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEP;UACT;QACF,CAAC,CAAC;QAEFT,MAAM,CAACW,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACM,OAAA,CAAArB,KAAA,GAAAA,KAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.40.4",
3
+ "version": "0.40.5",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -88,5 +88,5 @@
88
88
  "mock-fs": "^5.2.0",
89
89
  "mock-stdin": "^1.0.0"
90
90
  },
91
- "gitHead": "28747a28fb0c89b074c3398aff68ea1995922cc6"
91
+ "gitHead": "5c07d727b03d3140885c163e9811202c3b4d8233"
92
92
  }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.runRNCCli = runRNCCli;
7
- var _spawn = require("./spawn");
8
- /**
9
- * Runs the React Native Community CLI with the specified arguments
10
- */
11
- async function runRNCCli(args, options = {
12
- stdio: ['ignore', 'ignore', 'pipe']
13
- }) {
14
- return await (0, _spawn.spawn)('npx', ['@react-native-community/cli', ...args], options);
15
- }
16
- //# sourceMappingURL=runRNCCli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runRNCCli.js","names":["_spawn","require","runRNCCli","args","options","stdio","spawn"],"sources":["../../src/utils/runRNCCli.ts"],"sourcesContent":["import { type SpawnOptions } from 'node:child_process';\nimport { spawn } from './spawn';\n\n/**\n * Runs the React Native Community CLI with the specified arguments\n */\nexport async function runRNCCli(\n args: string[],\n options: SpawnOptions = {\n stdio: ['ignore', 'ignore', 'pipe'],\n }\n) {\n return await spawn('npx', ['@react-native-community/cli', ...args], options);\n}\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,eAAeC,SAASA,CAC7BC,IAAc,EACdC,OAAqB,GAAG;EACtBC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM;AACpC,CAAC,EACD;EACA,OAAO,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAAC,6BAA6B,EAAE,GAAGH,IAAI,CAAC,EAAEC,OAAO,CAAC;AAC9E","ignoreList":[]}