react-native-builder-bob 0.38.0 → 0.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/lib/__fixtures__/project/MyNativeComponent.js +2 -0
  2. package/lib/__fixtures__/project/MyNativeComponent.js.map +1 -0
  3. package/lib/__fixtures__/project/NativeMyLib.js +2 -0
  4. package/lib/__fixtures__/project/NativeMyLib.js.map +1 -0
  5. package/lib/__fixtures__/project/code/$exports-input.js +62 -2
  6. package/lib/__fixtures__/project/code/$exports-input.js.map +1 -1
  7. package/lib/__fixtures__/project/code/$exports-output.js +62 -2
  8. package/lib/__fixtures__/project/code/$exports-output.js.map +1 -1
  9. package/lib/__fixtures__/project/code/$imports-input.js +20 -0
  10. package/lib/__fixtures__/project/code/$imports-input.js.map +1 -1
  11. package/lib/__fixtures__/project/code/$imports-output.js +20 -0
  12. package/lib/__fixtures__/project/code/$imports-output.js.map +1 -1
  13. package/lib/__fixtures__/project/code/MyNativeComponent.js +2 -0
  14. package/lib/__fixtures__/project/code/MyNativeComponent.js.map +1 -0
  15. package/lib/__fixtures__/project/code/NativeMyLib.js +2 -0
  16. package/lib/__fixtures__/project/code/NativeMyLib.js.map +1 -0
  17. package/lib/__tests__/{index.test.js → babel.test.js} +8 -1
  18. package/lib/__tests__/babel.test.js.map +1 -0
  19. package/lib/__tests__/init.test.js +78 -0
  20. package/lib/__tests__/init.test.js.map +1 -0
  21. package/lib/babel.js +13 -6
  22. package/lib/babel.js.map +1 -1
  23. package/lib/build.js +163 -0
  24. package/lib/build.js.map +1 -0
  25. package/lib/index.js +3 -433
  26. package/lib/index.js.map +1 -1
  27. package/lib/init.js +371 -0
  28. package/lib/init.js.map +1 -0
  29. package/lib/targets/commonjs.js +2 -0
  30. package/lib/targets/commonjs.js.map +1 -1
  31. package/lib/targets/module.js +2 -0
  32. package/lib/targets/module.js.map +1 -1
  33. package/lib/targets/typescript.js +48 -25
  34. package/lib/targets/typescript.js.map +1 -1
  35. package/lib/types.js.map +1 -1
  36. package/lib/utils/compile.js +57 -24
  37. package/lib/utils/compile.js.map +1 -1
  38. package/lib/utils/isCodegenSpec.js +11 -0
  39. package/lib/utils/isCodegenSpec.js.map +1 -0
  40. package/lib/utils/loadConfig.js +21 -0
  41. package/lib/utils/loadConfig.js.map +1 -0
  42. package/package.json +4 -3
  43. package/lib/__fixtures__/project/code/$alias-input.js +0 -8
  44. package/lib/__fixtures__/project/code/$alias-input.js.map +0 -1
  45. package/lib/__fixtures__/project/code/$alias-output.js +0 -8
  46. package/lib/__fixtures__/project/code/$alias-output.js.map +0 -1
  47. package/lib/__tests__/index.test.js.map +0 -1
@@ -18,7 +18,9 @@ async function build({
18
18
  root,
19
19
  output,
20
20
  report,
21
- options
21
+ options,
22
+ variants,
23
+ esm
22
24
  }) {
23
25
  report.info(`Cleaning up previous build at ${_kleur.default.blue(_path.default.relative(root, output))}`);
24
26
  await (0, _del.default)([output]);
@@ -83,34 +85,51 @@ async function build({
83
85
  if (tsc == null || !(await _fsExtra.default.pathExists(tsc))) {
84
86
  throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed under ${_kleur.default.blue('node_modules')} or present in $PATH. Make sure you have added ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specify the ${_kleur.default.blue('tsc')} option for typescript.`);
85
87
  }
86
- const outputs = options?.esm ? {
87
- commonjs: _path.default.join(output, 'commonjs'),
88
- module: _path.default.join(output, 'module')
89
- } : {
90
- commonjs: output
91
- };
92
- const tsbuildinfo = _path.default.join(outputs.commonjs, project.replace(/\.json$/, '.tsbuildinfo'));
88
+ const outputs = {};
89
+ if (esm && variants.commonjs && variants.module) {
90
+ outputs.commonjs = _path.default.join(output, 'commonjs');
91
+ outputs.module = _path.default.join(output, 'module');
92
+ } else if (variants.commonjs) {
93
+ outputs.commonjs = output;
94
+ } else {
95
+ outputs.module = output;
96
+ }
97
+ const outDir = outputs.commonjs ?? outputs.module;
98
+ if (outDir == null) {
99
+ throw new Error('Neither commonjs nor module output is enabled.');
100
+ }
101
+ const tsbuildinfo = _path.default.join(outDir, project.replace(/\.json$/, '.tsbuildinfo'));
93
102
  try {
94
103
  await (0, _del.default)([tsbuildinfo]);
95
104
  } catch (e) {
96
105
  // Ignore
97
106
  }
98
- const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outputs.commonjs], {
107
+ const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outDir], {
99
108
  stdio: 'inherit',
100
109
  cwd: root
101
110
  });
102
111
  if (result.status === 0) {
103
112
  await (0, _del.default)([tsbuildinfo]);
104
- if (outputs?.module) {
105
- // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm
106
- // In this case we copy the already generated types, and add `package.json` with `type` field
107
- await _fsExtra.default.copy(outputs.commonjs, outputs.module);
108
- await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
109
- type: 'commonjs'
110
- });
111
- await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
112
- type: 'module'
113
- });
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
+ }
114
133
  }
115
134
  report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
116
135
  const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
@@ -118,22 +137,26 @@ async function build({
118
137
  name: 'types',
119
138
  value: pkg.types,
120
139
  output: outputs.commonjs,
121
- error: false
140
+ error: false,
141
+ message: undefined
122
142
  }, ...(pkg.exports?.['.']?.types ? [{
123
143
  name: "exports['.'].types",
124
144
  value: pkg.exports?.['.']?.types,
125
- output: outputs.commonjs,
126
- error: options?.esm === true
145
+ output: outDir,
146
+ error: Boolean(esm && variants.commonjs && variants.module),
147
+ message: `using both ${_kleur.default.blue('commonjs')} and ${_kleur.default.blue('module')} targets with ${_kleur.default.blue('esm')} option enabled. Specify ${_kleur.default.blue("exports['.'].import.types")} and ${_kleur.default.blue("exports['.'].require.types")} instead.`
127
148
  }] : []), {
128
149
  name: "exports['.'].import.types",
129
150
  value: pkg.exports?.['.']?.import?.types,
130
151
  output: outputs.module,
131
- error: !options?.esm
152
+ error: !esm,
153
+ message: `the ${_kleur.default.blue('esm')} option is not enabled for the ${_kleur.default.blue('module')} target`
132
154
  }, {
133
155
  name: "exports['.'].require.types",
134
156
  value: pkg.exports?.['.']?.require?.types,
135
157
  output: outputs.commonjs,
136
- error: !options?.esm
158
+ error: false,
159
+ message: undefined
137
160
  }];
138
161
  const getGeneratedTypesPath = async field => {
139
162
  if (!field.output || field.error) {
@@ -153,7 +176,7 @@ async function build({
153
176
  const invalidFieldNames = (await Promise.all(fields.map(async field => {
154
177
  if (field.error) {
155
178
  if (field.value) {
156
- report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when the ${_kleur.default.blue('esm')} option is ${options?.esm ? 'enabled' : 'disabled'}.`);
179
+ report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${field.message}.`);
157
180
  }
158
181
  return null;
159
182
  }
@@ -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","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","esm","commonjs","module","tsbuildinfo","replace","status","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","exports","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n project?: string;\n tsc?: string;\n };\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs = options?.esm\n ? {\n commonjs: path.join(output, 'commonjs'),\n module: path.join(output, 'module'),\n }\n : { commonjs: output };\n\n const tsbuildinfo = path.join(\n outputs.commonjs,\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 outputs.commonjs,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n if (outputs?.module) {\n // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outputs.commonjs,\n error: options?.esm === true,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !options?.esm,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: !options?.esm,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when the ${kleur.blue(\n 'esm'\n )} option is ${options?.esm ? 'enabled' : 'disabled'}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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","ignoreList":[]}
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 '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const 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(esm && variants.commonjs && variants.module),\n message: `using both ${kleur.blue('commonjs')} and ${kleur.blue(\n 'module'\n )} targets with ${kleur.blue(\n 'esm'\n )} option enabled. 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":[]}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n }\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\nexport type Variants = {\n commonjs?: boolean;\n module?: boolean;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n codegenEnabled: boolean;\n }\n}\n"],"mappings":"","ignoreList":[]}
@@ -9,6 +9,7 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
  var _kleur = _interopRequireDefault(require("kleur"));
10
10
  var babel = _interopRequireWildcard(require("@babel/core"));
11
11
  var _glob = _interopRequireDefault(require("glob"));
12
+ var _isCodegenSpec = require("./isCodegenSpec");
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -25,7 +26,8 @@ async function compile({
25
26
  copyFlow,
26
27
  sourceMaps = true,
27
28
  report,
28
- jsxRuntime = 'automatic'
29
+ jsxRuntime = 'automatic',
30
+ variants
29
31
  }) {
30
32
  const files = _glob.default.sync('**/*', {
31
33
  cwd: source,
@@ -62,6 +64,13 @@ async function compile({
62
64
  return;
63
65
  }
64
66
  const content = await _fsExtra.default.readFile(filepath, 'utf-8');
67
+
68
+ // If codegen is used in the app, then we need to preserve TypeScript source
69
+ // So we copy the file as is instead of transforming it
70
+ if ((0, _isCodegenSpec.isCodegenSpec)(filepath)) {
71
+ _fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
72
+ return;
73
+ }
65
74
  const result = await babel.transformAsync(content, {
66
75
  caller: {
67
76
  name: 'react-native-builder-bob',
@@ -69,7 +78,8 @@ async function compile({
69
78
  // If a file is explicitly marked as ESM, then preserve the syntax
70
79
  modules === 'preserve' ? true : false,
71
80
  rewriteImportExtensions: esm,
72
- jsxRuntime
81
+ jsxRuntime,
82
+ codegenEnabled: 'codegenConfig' in pkg
73
83
  },
74
84
  cwd: root,
75
85
  babelrc: babelrc,
@@ -114,29 +124,48 @@ async function compile({
114
124
  }
115
125
  return null;
116
126
  };
117
- const fields = modules === 'commonjs' ? [{
118
- name: 'main',
119
- value: pkg.main
120
- }] : [{
121
- name: 'module',
122
- value: pkg.module
123
- }];
124
- if (esm) {
127
+ const fields = [];
128
+ if (variants.commonjs && variants.module) {
125
129
  if (modules === 'commonjs') {
126
- fields.push(typeof pkg.exports?.['.']?.require === 'string' ? {
127
- name: "exports['.'].require",
128
- value: pkg.exports?.['.']?.require
129
- } : {
130
- name: "exports['.'].require.default",
131
- value: pkg.exports?.['.']?.require?.default
130
+ fields.push({
131
+ name: 'main',
132
+ value: pkg.main
132
133
  });
133
134
  } else {
134
- fields.push(typeof pkg.exports?.['.']?.import === 'string' ? {
135
- name: "exports['.'].import",
136
- value: pkg.exports?.['.']?.import
137
- } : {
138
- name: "exports['.'].import.default",
139
- value: pkg.exports?.['.']?.import?.default
135
+ fields.push({
136
+ name: 'module',
137
+ value: pkg.module
138
+ });
139
+ }
140
+ } else {
141
+ fields.push({
142
+ name: 'main',
143
+ value: pkg.main
144
+ });
145
+ }
146
+ if (esm) {
147
+ if (variants.commonjs && variants.module) {
148
+ if (modules === 'commonjs') {
149
+ fields.push(typeof pkg.exports?.['.']?.require === 'string' ? {
150
+ name: "exports['.'].require",
151
+ value: pkg.exports?.['.']?.require
152
+ } : {
153
+ name: "exports['.'].require.default",
154
+ value: pkg.exports?.['.']?.require?.default
155
+ });
156
+ } else {
157
+ fields.push(typeof pkg.exports?.['.']?.import === 'string' ? {
158
+ name: "exports['.'].import",
159
+ value: pkg.exports?.['.']?.import
160
+ } : {
161
+ name: "exports['.'].import.default",
162
+ value: pkg.exports?.['.']?.import?.default
163
+ });
164
+ }
165
+ } else {
166
+ fields.push({
167
+ name: "exports['.'].default",
168
+ value: pkg.exports?.['.']?.default
140
169
  });
141
170
  }
142
171
  } else {
@@ -146,6 +175,7 @@ async function compile({
146
175
  report.warn(`The ${_kleur.default.blue('esm')} option is disabled, but the ${_kleur.default.blue("exports['.'].import")} field is set in ${_kleur.default.blue('package.json')}. This is likely a mistake.`);
147
176
  }
148
177
  }
178
+ const generatedEntryPath = await getGeneratedEntryPath();
149
179
  if (fields.some(field => field.value)) {
150
180
  await Promise.all(fields.map(async ({
151
181
  name,
@@ -162,7 +192,6 @@ async function compile({
162
192
  require.resolve(_path.default.join(root, value));
163
193
  } catch (e) {
164
194
  if (e != null && typeof e === 'object' && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
165
- const generatedEntryPath = await getGeneratedEntryPath();
166
195
  if (!generatedEntryPath) {
167
196
  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')}.`);
168
197
  }
@@ -172,8 +201,12 @@ async function compile({
172
201
  throw e;
173
202
  }
174
203
  }));
204
+ if (modules === 'commonjs' && pkg.exports?.['.']?.import === `./${generatedEntryPath}`) {
205
+ report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a CommonJS module. This is likely a mistake.`);
206
+ } else if (modules === 'preserve' && pkg.exports?.['.']?.require === `./${generatedEntryPath}`) {
207
+ report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a ES module. This is likely a mistake.`);
208
+ }
175
209
  } else {
176
- const generatedEntryPath = await getGeneratedEntryPath();
177
210
  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.`);
178
211
  }
179
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","value","main","module","push","exports","import","some","field","startsWith","error","generatedEntryPath"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n jsxRuntime?: 'automatic' | 'classic';\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}: 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 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 },\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 =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
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","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","codegenEnabled","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 if (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: 'codegenConfig' in pkg,\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":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isCodegenSpec = void 0;
7
+ const isCodegenSpec = filepath => {
8
+ return /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/i.test(filepath);
9
+ };
10
+ exports.isCodegenSpec = isCodegenSpec;
11
+ //# sourceMappingURL=isCodegenSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCodegenSpec.js","names":["isCodegenSpec","filepath","test","exports"],"sources":["../../src/utils/isCodegenSpec.ts"],"sourcesContent":["export const isCodegenSpec = (filepath: string) => {\n return /(?:^|[\\\\/])(?:Native\\w+|(\\w+)NativeComponent)\\.[jt]sx?$/i.test(\n filepath\n );\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAIC,QAAgB,IAAK;EACjD,OAAO,0DAA0D,CAACC,IAAI,CACpED,QACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadConfig = void 0;
7
+ var _cosmiconfig = require("cosmiconfig");
8
+ // eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires
9
+ const {
10
+ name
11
+ } = require('../../package.json');
12
+ const root = process.cwd();
13
+ const explorer = (0, _cosmiconfig.cosmiconfig)(name, {
14
+ stopDir: root,
15
+ searchPlaces: ['package.json', 'bob.config.mjs', 'bob.config.cjs', 'bob.config.js']
16
+ });
17
+ const loadConfig = async () => {
18
+ return explorer.search();
19
+ };
20
+ exports.loadConfig = loadConfig;
21
+ //# sourceMappingURL=loadConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadConfig.js","names":["_cosmiconfig","require","name","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","loadConfig","search","exports"],"sources":["../../src/utils/loadConfig.ts"],"sourcesContent":["import { cosmiconfig } from 'cosmiconfig';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name } = require('../../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfig(name, {\n stopDir: root,\n searchPlaces: [\n 'package.json',\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n ],\n});\n\nexport const loadConfig = async () => {\n return explorer.search();\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA,MAAM;EAAEC;AAAK,CAAC,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AAE9C,MAAME,IAAI,GAAGC,OAAO,CAACC,GAAG,CAAC,CAAC;AAC1B,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAACL,IAAI,EAAE;EACjCM,OAAO,EAAEL,IAAI;EACbM,YAAY,EAAE,CACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe;AAEnB,CAAC,CAAC;AAEK,MAAMC,UAAU,GAAG,MAAAA,CAAA,KAAY;EACpC,OAAOJ,QAAQ,CAACK,MAAM,CAAC,CAAC;AAC1B,CAAC;AAACC,OAAA,CAAAF,UAAA,GAAAA,UAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.38.0",
3
+ "version": "0.38.2",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -85,7 +85,8 @@
85
85
  "@types/yargs": "^17.0.10",
86
86
  "concurrently": "^7.2.2",
87
87
  "jest": "^29.7.0",
88
- "mock-fs": "^5.2.0"
88
+ "mock-fs": "^5.2.0",
89
+ "mock-stdin": "^1.0.0"
89
90
  },
90
- "gitHead": "8ff17fc6cdab28a63f1de06b381726e2132e5691"
91
+ "gitHead": "9c0d0df06e65af995d685551835957c3af60d57a"
91
92
  }
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- require("@");
4
- require("@something");
5
- require("./@");
6
- require("file");
7
- require("something/somefile");
8
- //# sourceMappingURL=$alias-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$alias-input.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-input.ts"],"sourcesContent":["import \"@\";\nimport f from \"@/f\";\nimport \"@something\";\nimport \"./@\";\nimport \"file\";\nimport { something } from \"something\";\nimport \"something/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- require("..");
4
- require("@something");
5
- require("./@");
6
- require("../f");
7
- require("another/somefile");
8
- //# sourceMappingURL=$alias-output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$alias-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-output.ts"],"sourcesContent":["import \"..\";\nimport f from \"../f\";\nimport \"@something\";\nimport \"./@\";\nimport \"../f\";\nimport { something } from \"another\";\nimport \"another/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","names":["_globals","require","_core","_nodeFs","_interopRequireDefault","_nodePath","e","__esModule","default","it","each","name","filepath","path","resolve","__dirname","result","transformFileAsync","configFile","babelrc","plugins","extension","expected","fs","promises","readFile","expect","code","toEqual","trim"],"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { expect, it } from '@jest/globals';\nimport { transformFileAsync } from '@babel/core';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nit.each(['imports', 'exports'])(`adds extension to %s`, async (name) => {\n const filepath = path.resolve(\n __dirname,\n `../__fixtures__/project/code/$${name}-input.ts`\n );\n\n const result = await transformFileAsync(filepath, {\n configFile: false,\n babelrc: false,\n plugins: [\n '@babel/plugin-syntax-typescript',\n [require.resolve('../babel.ts'), { extension: 'mjs' }],\n ],\n });\n\n const expected = await fs.promises.readFile(\n path.resolve(__dirname, `../__fixtures__/project/code/$${name}-output.ts`),\n 'utf8'\n );\n\n expect(result?.code).toEqual(expected.trim());\n});\n"],"mappings":";;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA6B,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7BG,WAAE,CAACC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,MAAOC,IAAI,IAAK;EACtE,MAAMC,QAAQ,GAAGC,iBAAI,CAACC,OAAO,CAC3BC,SAAS,EACT,iCAAiCJ,IAAI,WACvC,CAAC;EAED,MAAMK,MAAM,GAAG,MAAM,IAAAC,wBAAkB,EAACL,QAAQ,EAAE;IAChDM,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CACP,iCAAiC,EACjC,CAACnB,OAAO,CAACa,OAAO,CAAC,aAAa,CAAC,EAAE;MAAEO,SAAS,EAAE;IAAM,CAAC,CAAC;EAE1D,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,MAAMC,eAAE,CAACC,QAAQ,CAACC,QAAQ,CACzCZ,iBAAI,CAACC,OAAO,CAACC,SAAS,EAAE,iCAAiCJ,IAAI,YAAY,CAAC,EAC1E,MACF,CAAC;EAED,IAAAe,eAAM,EAACV,MAAM,EAAEW,IAAI,CAAC,CAACC,OAAO,CAACN,QAAQ,CAACO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC","ignoreList":[]}