react-native-builder-bob 0.40.10 → 0.40.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/babel-preset.js CHANGED
@@ -11,9 +11,11 @@ const browserslist = require('browserslist');
11
11
  */
12
12
  module.exports = function (api, options, cwd) {
13
13
  const opt = (name) =>
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
14
15
  options[name] !== undefined
15
16
  ? options[name]
16
- : api.caller((caller) => (caller != null ? caller[name] : undefined));
17
+ : // eslint-disable-next-line @typescript-eslint/no-unsafe-return
18
+ api.caller((caller) => (caller != null ? caller[name] : undefined));
17
19
 
18
20
  const supportsStaticESM = opt('supportsStaticESM');
19
21
  const rewriteImportExtensions = opt('rewriteImportExtensions');
package/bin/bob CHANGED
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // eslint-disable-next-line import/no-commonjs
4
3
  require('../lib/index');
@@ -28,6 +28,7 @@ const waitFor = async callback => {
28
28
  } catch (error) {
29
29
  if (timeout <= 0) {
30
30
  clearInterval(intervalId);
31
+ // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
31
32
  reject(error);
32
33
  }
33
34
  timeout -= interval;
@@ -55,11 +56,11 @@ const waitFor = async callback => {
55
56
  _vitest.vi.restoreAllMocks();
56
57
  });
57
58
  (0, _vitest.test)('initializes the configuration', async () => {
58
- _vitest.vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
59
+ const writeMock = _vitest.vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
59
60
  process.chdir(root);
60
61
  const run = async () => {
61
62
  await waitFor(() => {
62
- const lastCall = process.stdout.write.mock.lastCall;
63
+ const lastCall = writeMock.mock.lastCall;
63
64
  if (lastCall == null) {
64
65
  throw new Error('No output');
65
66
  }
@@ -67,17 +68,25 @@ const waitFor = async callback => {
67
68
  io?.send('y');
68
69
  }
69
70
  });
70
- await waitFor(() => (0, _vitest.expect)(process.stdout.write).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where are your source files?')));
71
+ await waitFor(() => {
72
+ (0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where are your source files?'));
73
+ });
71
74
  io?.send(enter);
72
- await waitFor(() => (0, _vitest.expect)(process.stdout.write).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where do you want to generate the output files?')));
75
+ await waitFor(() => {
76
+ (0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Where do you want to generate the output files?'));
77
+ });
73
78
  io?.send(enter);
74
- await waitFor(() => (0, _vitest.expect)(process.stdout.write).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Which targets do you want to build?')));
79
+ await waitFor(() => {
80
+ (0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('Which targets do you want to build?'));
81
+ });
75
82
  io?.send(enter);
76
- await waitFor(() => (0, _vitest.expect)(process.stdout.write).toHaveBeenLastCalledWith(_vitest.expect.stringMatching("You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root")));
83
+ await waitFor(() => {
84
+ (0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching("You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root"));
85
+ });
77
86
  io?.send(enter);
78
87
  };
79
88
  await Promise.all([run(), (0, _init.init)()]);
80
- (0, _vitest.expect)(process.stdout.write).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('configured successfully!'));
89
+ (0, _vitest.expect)(writeMock).toHaveBeenLastCalledWith(_vitest.expect.stringMatching('configured successfully!'));
81
90
  (0, _vitest.expect)(await (0, _fsExtra.readFile)((0, _nodePath.join)(root, 'package.json'), 'utf8')).toMatchSnapshot();
82
91
  (0, _vitest.expect)(await (0, _fsExtra.readFile)((0, _nodePath.join)(root, 'tsconfig.json'), 'utf8')).toMatchSnapshot();
83
92
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.test.js","names":["_vitest","require","_fsExtra","_mockFs","_interopRequireDefault","_mockStdin","_nodePath","_init","e","__esModule","default","vi","mock","name","version","io","root","enter","waitFor","callback","interval","timeout","Promise","resolve","reject","intervalId","setInterval","clearInterval","undefined","error","beforeEach","stdin","mockFs","JSON","stringify","afterEach","restore","restoreAllMocks","test","spyOn","process","stdout","mockImplementation","chdir","run","lastCall","write","Error","String","send","expect","toHaveBeenLastCalledWith","stringMatching","all","init","readFile","join","toMatchSnapshot"],"sources":["../../src/__tests__/init.test.ts"],"sourcesContent":["import { afterEach, beforeEach, expect, test, vi, type Mock } from 'vitest';\nimport { readFile } from 'fs-extra';\nimport mockFs from 'mock-fs';\nimport { stdin } from 'mock-stdin';\nimport { join } from 'node:path';\nimport { init } from '../init';\n\nvi.mock('../../package.json', () => ({\n default: {\n name: 'react-native-builder-bob',\n version: '0.5.0',\n },\n}));\n\nlet io: ReturnType<typeof stdin> | undefined;\n\nconst root = '/path/to/library';\n\nconst enter = '\\x0D';\n\nconst waitFor = async (callback: () => void) => {\n const interval = 10;\n\n let timeout = 50;\n\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n try {\n callback();\n clearInterval(intervalId);\n resolve(undefined);\n } catch (error) {\n if (timeout <= 0) {\n clearInterval(intervalId);\n reject(error);\n }\n\n timeout -= interval;\n }\n }, interval);\n });\n};\n\nbeforeEach(() => {\n io = stdin();\n\n mockFs({\n [root]: {\n 'package.json': JSON.stringify({\n name: 'library',\n version: '1.0.0',\n }),\n 'src': {\n 'index.ts': \"export default 'hello world';\",\n },\n },\n });\n});\n\nafterEach(() => {\n io?.restore();\n mockFs.restore();\n vi.restoreAllMocks();\n});\n\ntest('initializes the configuration', async () => {\n vi.spyOn(process.stdout, 'write').mockImplementation(() => true);\n\n process.chdir(root);\n\n const run = async () => {\n await waitFor(() => {\n const lastCall = (process.stdout.write as Mock).mock.lastCall;\n\n if (lastCall == null) {\n throw new Error('No output');\n }\n\n if (/The working directory is not clean/.test(String(lastCall[0]))) {\n io?.send('y');\n }\n });\n\n await waitFor(() =>\n expect(process.stdout.write).toHaveBeenLastCalledWith(\n expect.stringMatching('Where are your source files?')\n )\n );\n\n io?.send(enter);\n\n await waitFor(() =>\n expect(process.stdout.write).toHaveBeenLastCalledWith(\n expect.stringMatching('Where do you want to generate the output files?')\n )\n );\n\n io?.send(enter);\n\n await waitFor(() =>\n expect(process.stdout.write).toHaveBeenLastCalledWith(\n expect.stringMatching('Which targets do you want to build?')\n )\n );\n\n io?.send(enter);\n\n await waitFor(() =>\n expect(process.stdout.write).toHaveBeenLastCalledWith(\n expect.stringMatching(\n \"You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root\"\n )\n )\n );\n\n io?.send(enter);\n };\n\n await Promise.all([run(), init()]);\n\n expect(process.stdout.write).toHaveBeenLastCalledWith(\n expect.stringMatching('configured successfully!')\n );\n\n expect(await readFile(join(root, 'package.json'), 'utf8')).toMatchSnapshot();\n\n expect(await readFile(join(root, 'tsconfig.json'), 'utf8')).toMatchSnapshot();\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"init.test.js","names":["_vitest","require","_fsExtra","_mockFs","_interopRequireDefault","_mockStdin","_nodePath","_init","e","__esModule","default","vi","mock","name","version","io","root","enter","waitFor","callback","interval","timeout","Promise","resolve","reject","intervalId","setInterval","clearInterval","undefined","error","beforeEach","stdin","mockFs","JSON","stringify","afterEach","restore","restoreAllMocks","test","writeMock","spyOn","process","stdout","mockImplementation","chdir","run","lastCall","Error","String","send","expect","toHaveBeenLastCalledWith","stringMatching","all","init","readFile","join","toMatchSnapshot"],"sources":["../../src/__tests__/init.test.ts"],"sourcesContent":["import { afterEach, beforeEach, expect, test, vi } from 'vitest';\nimport { readFile } from 'fs-extra';\nimport mockFs from 'mock-fs';\nimport { stdin } from 'mock-stdin';\nimport { join } from 'node:path';\nimport { init } from '../init';\n\nvi.mock('../../package.json', () => ({\n default: {\n name: 'react-native-builder-bob',\n version: '0.5.0',\n },\n}));\n\nlet io: ReturnType<typeof stdin> | undefined;\n\nconst root = '/path/to/library';\n\nconst enter = '\\x0D';\n\nconst waitFor = async (callback: () => void) => {\n const interval = 10;\n\n let timeout = 50;\n\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n try {\n callback();\n clearInterval(intervalId);\n resolve(undefined);\n } catch (error) {\n if (timeout <= 0) {\n clearInterval(intervalId);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(error);\n }\n\n timeout -= interval;\n }\n }, interval);\n });\n};\n\nbeforeEach(() => {\n io = stdin();\n\n mockFs({\n [root]: {\n 'package.json': JSON.stringify({\n name: 'library',\n version: '1.0.0',\n }),\n 'src': {\n 'index.ts': \"export default 'hello world';\",\n },\n },\n });\n});\n\nafterEach(() => {\n io?.restore();\n mockFs.restore();\n vi.restoreAllMocks();\n});\n\ntest('initializes the configuration', async () => {\n const writeMock = vi\n .spyOn(process.stdout, 'write')\n .mockImplementation(() => true);\n\n process.chdir(root);\n\n const run = async () => {\n await waitFor(() => {\n const lastCall = writeMock.mock.lastCall;\n\n if (lastCall == null) {\n throw new Error('No output');\n }\n\n if (/The working directory is not clean/.test(String(lastCall[0]))) {\n io?.send('y');\n }\n });\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Where are your source files?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Where do you want to generate the output files?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('Which targets do you want to build?')\n );\n });\n\n io?.send(enter);\n\n await waitFor(() => {\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching(\n \"You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root\"\n )\n );\n });\n\n io?.send(enter);\n };\n\n await Promise.all([run(), init()]);\n\n expect(writeMock).toHaveBeenLastCalledWith(\n expect.stringMatching('configured successfully!')\n );\n\n expect(await readFile(join(root, 'package.json'), 'utf8')).toMatchSnapshot();\n\n expect(await readFile(join(root, 'tsconfig.json'), 'utf8')).toMatchSnapshot();\n});\n"],"mappings":"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","ignoreList":[]}
package/lib/build.js CHANGED
@@ -60,7 +60,7 @@ async function build(argv) {
60
60
  variants
61
61
  });
62
62
  } else {
63
- await Promise.all(targets.map(target => buildTarget({
63
+ await Promise.all(targets.map(async target => buildTarget({
64
64
  root,
65
65
  target: Array.isArray(target) ? target[0] : target,
66
66
  source,
@@ -90,6 +90,7 @@ async function buildTarget({
90
90
  source: _path.default.resolve(root, source),
91
91
  output: _path.default.resolve(root, output, target),
92
92
  exclude,
93
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
93
94
  options: options,
94
95
  variants,
95
96
  report
@@ -110,6 +111,7 @@ async function buildTarget({
110
111
  root,
111
112
  source: _path.default.resolve(root, source),
112
113
  output: _path.default.resolve(root, output, 'typescript'),
114
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
113
115
  options: options,
114
116
  esm,
115
117
  variants,
@@ -128,6 +130,7 @@ async function buildTarget({
128
130
  await (0, _workerize.run)('custom', {
129
131
  root,
130
132
  source: _path.default.resolve(root, source),
133
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
131
134
  options: options,
132
135
  report
133
136
  });
package/lib/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","names":["_arktype","require","_fsExtra","_interopRequireDefault","_kleur","_path","_schema","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","parsed","errors","filepath","summary","source","output","targets","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","options","undefined","find","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import { type } from 'arktype';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { config, type Config, type Target, type TargetOptions } from './schema';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const parsed = config(result.config);\n\n if (parsed instanceof type.errors) {\n throw new Error(\n `Invalid configuration in ${result.filepath}: ${parsed.summary}`\n );\n }\n\n const { source, output, targets, exclude } = parsed;\n\n const commonjs = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n });\n } else {\n await Promise.all(\n targets.map((target) =>\n buildTarget({\n root,\n target: Array.isArray(target) ? target[0] : target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget<T extends Target>({\n root,\n target,\n source,\n output,\n exclude,\n config,\n variants,\n}: {\n root: string;\n target: T;\n source: string;\n output: string;\n exclude: string;\n config: Config;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const options = config.targets\n .map((t) => (Array.isArray(t) ? t : ([t, undefined] as const)))\n .find((t) => t[0] === target)?.[1];\n\n const report = logger.grouped(target);\n\n switch (target) {\n case 'commonjs':\n case 'module':\n await run(target, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, target),\n exclude,\n options: options as TargetOptions<'commonjs' | 'module'>,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n config.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: options as TargetOptions<'typescript'>,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n root,\n source: path.resolve(root, source),\n options: options as TargetOptions<'custom'>,\n report,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(target)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"build.js","names":["_arktype","require","_fsExtra","_interopRequireDefault","_kleur","_path","_schema","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","parsed","errors","filepath","summary","source","output","targets","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","options","undefined","find","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import { type } from 'arktype';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { config, type Config, type Target, type TargetOptions } from './schema';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const parsed = config(result.config);\n\n if (parsed instanceof type.errors) {\n throw new Error(\n `Invalid configuration in ${result.filepath}: ${parsed.summary}`\n );\n }\n\n const { source, output, targets, exclude } = parsed;\n\n const commonjs = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n });\n } else {\n await Promise.all(\n targets.map(async (target) =>\n buildTarget({\n root,\n target: Array.isArray(target) ? target[0] : target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget({\n root,\n target,\n source,\n output,\n exclude,\n config,\n variants,\n}: {\n root: string;\n target: Target;\n source: string;\n output: string;\n exclude: string;\n config: Config;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const options = config.targets\n .map((t) => (Array.isArray(t) ? t : ([t, undefined] as const)))\n .find((t) => t[0] === target)?.[1];\n\n const report = logger.grouped(target);\n\n switch (target) {\n case 'commonjs':\n case 'module':\n await run(target, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, target),\n exclude,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'commonjs' | 'module'>,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n config.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'typescript'>,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n root,\n source: path.resolve(root, source),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n options: options as TargetOptions<'custom'>,\n report,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(target)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -11,7 +11,5 @@ const args = {
11
11
  choices: ['commonjs', 'module', 'typescript', 'codegen']
12
12
  }
13
13
  };
14
-
15
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
16
- _yargs.default.command('init', 'configure the package to use bob', {}, _init.init).command('build', 'build files for publishing', args, _build.build).demandCommand().recommendCommands().strict().argv;
14
+ void _yargs.default.command('init', 'configure the package to use bob', {}, _init.init).command('build', 'build files for publishing', args, _build.build).demandCommand().recommendCommands().strict().argv;
17
15
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './schema';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\nyargs\n .command('init', 'configure the package to use bob', {}, init)\n .command('build', 'build files for publishing', args, build)\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAA8B,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9B,MAAMG,IAAI,GAAG;EACXC,MAAM,EAAE;IACNC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,qBAAqB;IAClCC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS;EACzD;AACF,CAA0C;;AAE1C;AACAC,cAAK,CACFC,OAAO,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAEC,UAAI,CAAC,CAC7DD,OAAO,CAAC,OAAO,EAAE,4BAA4B,EAAEN,IAAI,EAAEQ,YAAK,CAAC,CAC3DC,aAAa,CAAC,CAAC,CACfC,iBAAiB,CAAC,CAAC,CACnBC,MAAM,CAAC,CAAC,CAACC,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './schema';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\nvoid yargs\n .command('init', 'configure the package to use bob', {}, init)\n .command('build', 'build files for publishing', args, build)\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAA8B,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9B,MAAMG,IAAI,GAAG;EACXC,MAAM,EAAE;IACNC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,qBAAqB;IAClCC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS;EACzD;AACF,CAA0C;AAE1C,KAAKC,cAAK,CACPC,OAAO,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAEC,UAAI,CAAC,CAC7DD,OAAO,CAAC,OAAO,EAAE,4BAA4B,EAAEN,IAAI,EAAEQ,YAAK,CAAC,CAC3DC,aAAa,CAAC,CAAC,CACfC,iBAAiB,CAAC,CAAC,CACnBC,MAAM,CAAC,CAAC,CAACC,IAAI","ignoreList":[]}
package/lib/init.js CHANGED
@@ -48,6 +48,8 @@ async function init() {
48
48
  process.exit(0);
49
49
  }
50
50
  }
51
+
52
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
51
53
  const {
52
54
  source
53
55
  } = await (0, _prompts.default)({
@@ -102,6 +104,8 @@ async function init() {
102
104
  initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin')
103
105
  });
104
106
  }
107
+
108
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
105
109
  const {
106
110
  output,
107
111
  targets,
@@ -242,6 +246,7 @@ async function init() {
242
246
  }
243
247
  }
244
248
  for (const key in entryFields) {
249
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
245
250
  const entry = entryFields[key];
246
251
  if (pkg[key] && pkg[key] !== entry) {
247
252
  const {
@@ -249,7 +254,7 @@ async function init() {
249
254
  } = await (0, _prompts.default)({
250
255
  type: 'confirm',
251
256
  name: 'replace',
252
- message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\n Do you want to replace it with '${entry}'?`,
257
+ message: `Your package.json has the '${key}' field set to '${String(pkg[key])}'.\n Do you want to replace it with '${String(entry)}'?`,
253
258
  initial: true
254
259
  });
255
260
  if (replace) {
@@ -278,7 +283,7 @@ async function init() {
278
283
  } = await (0, _prompts.default)({
279
284
  type: 'confirm',
280
285
  name: 'replace',
281
- message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\n Do you want to replace it with '${prepare}'?`,
286
+ message: `Your package.json has the 'scripts.prepare' field set to '${String(pkg.scripts.prepare)}'.\n Do you want to replace it with '${prepare}'?`,
282
287
  initial: true
283
288
  });
284
289
  if (replace) {
package/lib/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","_package","e","__esModule","default","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","name","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","pack","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","version","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\nimport pack from '../package.json';\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (\n result?.config &&\n pkg.devDependencies &&\n pack.name in pkg.devDependencies\n ) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [pack.name, `^${pack.version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: false,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = {\n source: entries.source,\n ...requireField,\n };\n } else if (targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n ...importField,\n };\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'main' | 'module' | 'types']?: string;\n } = {};\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.import;\n }\n }\n\n for (const key in entryFields) {\n const entry = entryFields[key as keyof typeof entryFields];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[pack.name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","_package","e","__esModule","default","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","name","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","pack","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","version","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","String","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\nimport pack from '../package.json';\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (\n result?.config &&\n pkg.devDependencies &&\n pack.name in pkg.devDependencies\n ) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const { source } = (await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n })) as { source: string };\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [pack.name, `^${pack.version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: false,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const { output, targets, flow } = (await prompts(questions)) as {\n output: string;\n targets: string[];\n flow?: boolean;\n };\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = {\n source: entries.source,\n ...requireField,\n };\n } else if (targets.includes('module')) {\n exportsField['.'] = {\n source: entries.source,\n ...importField,\n };\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'main' | 'module' | 'types']?: string;\n } = {};\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.require;\n }\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n\n if (targets.includes('typescript')) {\n entryFields.types = types.import;\n }\n }\n\n for (const key in entryFields) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const entry = entryFields[key as keyof typeof entryFields];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${String(pkg[key])}'.\\n Do you want to replace it with '${String(entry)}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${String(pkg.scripts.prepare)}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[pack.name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/schema.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":["_arktype","require","module","name","options","type","esm","default","babelrc","configFile","sourceMaps","copyFlow","jsxRuntime","commonjs","typescript","project","tsc","codegen","custom","script","clean","target","or","config","exports","source","output","targets","array","moreThanLength","exclude","string","onDeepUndeclaredKey"],"sources":["../src/schema.ts"],"sourcesContent":["import { type } from 'arktype';\n\nconst module = {\n name: '\"module\"',\n options: type({\n esm: type('boolean').default(false),\n babelrc: type('boolean').default(false),\n configFile: type('boolean | string').default(false),\n sourceMaps: type('boolean').default(true),\n copyFlow: type('boolean').default(false),\n jsxRuntime: type('\"automatic\" | \"classic\"').default('automatic'),\n }),\n} as const;\n\nconst commonjs = {\n name: '\"commonjs\"',\n options: module.options,\n} as const;\n\nconst typescript = {\n name: '\"typescript\"',\n options: type({\n project: 'string?',\n tsc: 'string?',\n }),\n} as const;\n\nconst codegen = {\n name: '\"codegen\"',\n} as const;\n\nconst custom = {\n name: '\"custom\"',\n options: type({\n script: 'string',\n clean: 'string?',\n }),\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst target = type.or(\n commonjs.name,\n module.name,\n typescript.name,\n codegen.name,\n custom.name\n);\n\nexport const config = type({\n source: 'string',\n output: 'string',\n targets: type\n .or(\n type.or(module.name, [module.name], [module.name, module.options]),\n type.or(\n commonjs.name,\n [commonjs.name],\n [commonjs.name, commonjs.options]\n ),\n type.or(\n typescript.name,\n [typescript.name],\n [typescript.name, typescript.options]\n ),\n type.or(codegen.name, [codegen.name]),\n [custom.name, custom.options]\n )\n .array()\n .moreThanLength(0),\n exclude: type.string.default('**/{__tests__,__fixtures__,__mocks__}/**'),\n}).onDeepUndeclaredKey('reject');\n\nexport type Config = typeof config.infer;\n\nexport type Target = typeof target.infer;\n\nexport type TargetOptions<T extends Target> = T extends typeof commonjs.name\n ? typeof commonjs.options.infer\n : T extends typeof module.name\n ? typeof module.options.infer\n : T extends typeof typescript.name\n ? typeof typescript.options.infer\n : T extends typeof custom.name\n ? typeof custom.options.infer\n : T extends typeof codegen.name\n ? undefined\n : never;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,OAAM,GAAG;EACbC,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZC,GAAG,EAAE,IAAAD,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnCC,OAAO,EAAE,IAAAH,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACvCE,UAAU,EAAE,IAAAJ,aAAI,EAAC,kBAAkB,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnDG,UAAU,EAAE,IAAAL,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,IAAI,CAAC;IACzCI,QAAQ,EAAE,IAAAN,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACxCK,UAAU,EAAE,IAAAP,aAAI,EAAC,yBAAyB,CAAC,CAACE,OAAO,CAAC,WAAW;EACjE,CAAC;AACH,CAAU;AAEV,MAAMM,QAAQ,GAAG;EACfV,IAAI,EAAE,YAAY;EAClBC,OAAO,EAAEF,OAAM,CAACE;AAClB,CAAU;AAEV,MAAMU,UAAU,GAAG;EACjBX,IAAI,EAAE,cAAc;EACpBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZU,OAAO,EAAE,SAAS;IAClBC,GAAG,EAAE;EACP,CAAC;AACH,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdd,IAAI,EAAE;AACR,CAAU;AAEV,MAAMe,MAAM,GAAG;EACbf,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZc,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACT,CAAC;AACH,CAAU;;AAEV;AACA,MAAMC,MAAM,GAAGhB,aAAI,CAACiB,EAAE,CACpBT,QAAQ,CAACV,IAAI,EACbD,OAAM,CAACC,IAAI,EACXW,UAAU,CAACX,IAAI,EACfc,OAAO,CAACd,IAAI,EACZe,MAAM,CAACf,IACT,CAAC;AAEM,MAAMoB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAlB,aAAI,EAAC;EACzBoB,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEtB,aAAI,CACViB,EAAE,CACDjB,aAAI,CAACiB,EAAE,CAACpB,OAAM,CAACC,IAAI,EAAE,CAACD,OAAM,CAACC,IAAI,CAAC,EAAE,CAACD,OAAM,CAACC,IAAI,EAAED,OAAM,CAACE,OAAO,CAAC,CAAC,EAClEC,aAAI,CAACiB,EAAE,CACLT,QAAQ,CAACV,IAAI,EACb,CAACU,QAAQ,CAACV,IAAI,CAAC,EACf,CAACU,QAAQ,CAACV,IAAI,EAAEU,QAAQ,CAACT,OAAO,CAClC,CAAC,EACDC,aAAI,CAACiB,EAAE,CACLR,UAAU,CAACX,IAAI,EACf,CAACW,UAAU,CAACX,IAAI,CAAC,EACjB,CAACW,UAAU,CAACX,IAAI,EAAEW,UAAU,CAACV,OAAO,CACtC,CAAC,EACDC,aAAI,CAACiB,EAAE,CAACL,OAAO,CAACd,IAAI,EAAE,CAACc,OAAO,CAACd,IAAI,CAAC,CAAC,EACrC,CAACe,MAAM,CAACf,IAAI,EAAEe,MAAM,CAACd,OAAO,CAC9B,CAAC,CACAwB,KAAK,CAAC,CAAC,CACPC,cAAc,CAAC,CAAC,CAAC;EACpBC,OAAO,EAAEzB,aAAI,CAAC0B,MAAM,CAACxB,OAAO,CAAC,0CAA0C;AACzE,CAAC,CAAC,CAACyB,mBAAmB,CAAC,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"schema.js","names":["_arktype","require","module","name","options","type","esm","default","babelrc","configFile","sourceMaps","copyFlow","jsxRuntime","commonjs","typescript","project","tsc","codegen","custom","script","clean","target","or","config","exports","source","output","targets","array","moreThanLength","exclude","string","onDeepUndeclaredKey"],"sources":["../src/schema.ts"],"sourcesContent":["import { type } from 'arktype';\n\nconst module = {\n name: '\"module\"',\n options: type({\n esm: type('boolean').default(false),\n babelrc: type('boolean').default(false),\n configFile: type('boolean | string').default(false),\n sourceMaps: type('boolean').default(true),\n copyFlow: type('boolean').default(false),\n jsxRuntime: type('\"automatic\" | \"classic\"').default('automatic'),\n }),\n} as const;\n\nconst commonjs = {\n name: '\"commonjs\"',\n options: module.options,\n} as const;\n\nconst typescript = {\n name: '\"typescript\"',\n options: type({\n project: 'string?',\n tsc: 'string?',\n }),\n} as const;\n\nconst codegen = {\n name: '\"codegen\"',\n} as const;\n\nconst custom = {\n name: '\"custom\"',\n options: type({\n script: 'string',\n clean: 'string?',\n }),\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst target = type.or(\n commonjs.name,\n module.name,\n typescript.name,\n codegen.name,\n custom.name\n);\n\nexport const config = type({\n source: 'string',\n output: 'string',\n targets: type\n .or(\n type.or(module.name, [module.name], [module.name, module.options]),\n type.or(\n commonjs.name,\n [commonjs.name],\n [commonjs.name, commonjs.options]\n ),\n type.or(\n typescript.name,\n [typescript.name],\n [typescript.name, typescript.options]\n ),\n type.or(codegen.name, [codegen.name]),\n [custom.name, custom.options]\n )\n .array()\n .moreThanLength(0),\n exclude: type.string.default('**/{__tests__,__fixtures__,__mocks__}/**'),\n}).onDeepUndeclaredKey('reject');\n\nexport type Config = typeof config.infer;\n\nexport type Target = typeof target.infer;\n\nexport type TargetOptions<T extends Target> = T extends typeof commonjs.name\n ? typeof commonjs.options.infer\n : T extends typeof module.name\n ? typeof module.options.infer\n : T extends typeof typescript.name\n ? typeof typescript.options.infer\n : T extends typeof custom.name\n ? typeof custom.options.infer\n : T extends typeof codegen.name\n ? undefined\n : never;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,OAAM,GAAG;EACbC,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZC,GAAG,EAAE,IAAAD,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnCC,OAAO,EAAE,IAAAH,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACvCE,UAAU,EAAE,IAAAJ,aAAI,EAAC,kBAAkB,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnDG,UAAU,EAAE,IAAAL,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,IAAI,CAAC;IACzCI,QAAQ,EAAE,IAAAN,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACxCK,UAAU,EAAE,IAAAP,aAAI,EAAC,yBAAyB,CAAC,CAACE,OAAO,CAAC,WAAW;EACjE,CAAC;AACH,CAAU;AAEV,MAAMM,QAAQ,GAAG;EACfV,IAAI,EAAE,YAAY;EAClBC,OAAO,EAAEF,OAAM,CAACE;AAClB,CAAU;AAEV,MAAMU,UAAU,GAAG;EACjBX,IAAI,EAAE,cAAc;EACpBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZU,OAAO,EAAE,SAAS;IAClBC,GAAG,EAAE;EACP,CAAC;AACH,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdd,IAAI,EAAE;AACR,CAAU;AAEV,MAAMe,MAAM,GAAG;EACbf,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZc,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACT,CAAC;AACH,CAAU;;AAEV;AACA,MAAMC,MAAM,GAAGhB,aAAI,CAACiB,EAAE,CACpBT,QAAQ,CAACV,IAAI,EACbD,OAAM,CAACC,IAAI,EACXW,UAAU,CAACX,IAAI,EACfc,OAAO,CAACd,IAAI,EACZe,MAAM,CAACf,IACT,CAAC;AAEM,MAAMoB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAlB,aAAI,EAAC;EACzBoB,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEtB,aAAI,CACViB,EAAE,CACDjB,aAAI,CAACiB,EAAE,CAACpB,OAAM,CAACC,IAAI,EAAE,CAACD,OAAM,CAACC,IAAI,CAAC,EAAE,CAACD,OAAM,CAACC,IAAI,EAAED,OAAM,CAACE,OAAO,CAAC,CAAC,EAClEC,aAAI,CAACiB,EAAE,CACLT,QAAQ,CAACV,IAAI,EACb,CAACU,QAAQ,CAACV,IAAI,CAAC,EACf,CAACU,QAAQ,CAACV,IAAI,EAAEU,QAAQ,CAACT,OAAO,CAClC,CAAC,EACDC,aAAI,CAACiB,EAAE,CACLR,UAAU,CAACX,IAAI,EACf,CAACW,UAAU,CAACX,IAAI,CAAC,EACjB,CAACW,UAAU,CAACX,IAAI,EAAEW,UAAU,CAACV,OAAO,CACtC,CAAC,EACDC,aAAI,CAACiB,EAAE,CAACL,OAAO,CAACd,IAAI,EAAE,CAACc,OAAO,CAACd,IAAI,CAAC,CAAC,EACrC,CAACe,MAAM,CAACf,IAAI,EAAEe,MAAM,CAACd,OAAO,CAC9B,CAAC,CACAwB,KAAK,CAAC,CAAC,CACPC,cAAc,CAAC,CAAC,CAAC;EACpBC,OAAO,EAAEzB,aAAI,CAAC0B,MAAM,CAACxB,OAAO,CAAC,0CAA0C;AACzE,CAAC,CAAC,CAACyB,mBAAmB,CAAC,QAAQ,CAAC","ignoreList":[]}
@@ -39,8 +39,8 @@ packageJson) {
39
39
  if (!(await _fsExtra.default.pathExists(codegenAndroidPath))) {
40
40
  throw new Error(`The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`);
41
41
  }
42
- const androidPromises = FILES_TO_REMOVE.map(fileName => _fsExtra.default.rm(_path.default.join(codegenAndroidPath, fileName)));
43
- const iosPromises = FILES_TO_REMOVE.map(fileName => _fsExtra.default.rm(_path.default.join(codegenIosPath, fileName)));
42
+ const androidPromises = FILES_TO_REMOVE.map(async fileName => _fsExtra.default.rm(_path.default.join(codegenAndroidPath, fileName)));
43
+ const iosPromises = FILES_TO_REMOVE.map(async fileName => _fsExtra.default.rm(_path.default.join(codegenIosPath, fileName)));
44
44
  await Promise.allSettled([...androidPromises, ...iosPromises]);
45
45
  }
46
46
 
@@ -1 +1 @@
1
- {"version":3,"file":"removeCodegenAppLevelCode.js","names":["_fsExtra","_interopRequireDefault","require","_path","_patchCodegenAndroidPackage","_spawn","e","__esModule","default","FILES_TO_REMOVE","removeCodegenAppLevelCode","projectPath","packageJson","codegenAndroidPathSetting","codegenConfig","outputDir","android","Error","CODEGEN_DOCS","codegenAndroidPath","path","resolve","fs","pathExists","codegenIosPathSetting","ios","codegenIosPath","androidPromises","map","fileName","rm","join","iosPromises","Promise","allSettled","getCodegenCLISourceSupport","codegenCLIHelpOutput","spawn","includes"],"sources":["../../../../src/targets/codegen/patches/removeCodegenAppLevelCode.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { CODEGEN_DOCS } from './patchCodegenAndroidPackage';\nimport { spawn } from '../../../utils/spawn';\n\nconst FILES_TO_REMOVE = [\n 'RCTAppDependencyProvider.h',\n 'RCTAppDependencyProvider.mm',\n 'RCTModulesConformingToProtocolsProvider.h',\n 'RCTModulesConformingToProtocolsProvider.mm',\n 'RCTThirdPartyComponentsProvider.h',\n 'RCTThirdPartyComponentsProvider.mm',\n 'ReactAppDependencyProvider.podspec',\n];\n\n/**\n * With React Native 0.77, calling `@react-native-community/cli codegen` generates\n * some app level source files such as `RCTAppDependencyProvider.mm`.\n * These files are supposed to be only generated for apps\n * but the cli misbehaves and generates them for all sorts of projects.\n * You can find the relevant PR here: https://github.com/facebook/react-native/pull/47650\n * This patch can be removed when this gets fixed in React Native.\n */\nexport async function removeCodegenAppLevelCode(\n projectPath: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: any\n) {\n const codegenAndroidPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.android;\n if (!codegenAndroidPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.android. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenAndroidPath = path.resolve(\n projectPath,\n codegenAndroidPathSetting\n );\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen android path defined in your package.json: ${codegenAndroidPath} doesnt' exist.`\n );\n }\n\n const codegenIosPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.ios;\n if (!codegenIosPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.ios. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenIosPath = path.resolve(projectPath, codegenIosPathSetting);\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`\n );\n }\n\n const androidPromises = FILES_TO_REMOVE.map((fileName) =>\n fs.rm(path.join(codegenAndroidPath, fileName))\n );\n\n const iosPromises = FILES_TO_REMOVE.map((fileName) =>\n fs.rm(path.join(codegenIosPath, fileName))\n );\n\n await Promise.allSettled([...androidPromises, ...iosPromises]);\n}\n\n/**\n * Codegen generates a different set of files if the target is an app instead.\n * The following commit adds support for a --source argument to support calling codegen as a library:\n * https://github.com/facebook/react-native/commit/98b8f178110472e5fed97de80766c03b0b5e988c\n * Here we just check if the --source argument is supported.\n */\nexport async function getCodegenCLISourceSupport(): Promise<boolean> {\n const codegenCLIHelpOutput = await spawn('npx', [\n '@react-native-community/cli',\n 'codegen',\n '--help',\n ]);\n return codegenCLIHelpOutput.includes('--source');\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,eAAe,GAAG,CACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,2CAA2C,EAC3C,4CAA4C,EAC5C,mCAAmC,EACnC,oCAAoC,EACpC,oCAAoC,CACrC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,yBAAyBA,CAC7CC,WAAmB;AACnB;AACAC,WAAgB,EAChB;EACA,MAAMC,yBAA6C,GACjDD,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEC,OAAO;EAC/C,IAAI,CAACH,yBAAyB,EAAE;IAC9B,MAAM,IAAII,KAAK,CACb,iFAAiFC,wCAAY,EAC/F,CAAC;EACH;EACA,MAAMC,kBAAkB,GAAGC,aAAI,CAACC,OAAO,CACrCV,WAAW,EACXE,yBACF,CAAC;EAED,IAAI,EAAE,MAAMS,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,0DAA0DE,kBAAkB,iBAC9E,CAAC;EACH;EAEA,MAAMK,qBAAyC,GAC7CZ,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEU,GAAG;EAC3C,IAAI,CAACD,qBAAqB,EAAE;IAC1B,MAAM,IAAIP,KAAK,CACb,6EAA6EC,wCAAY,EAC3F,CAAC;EACH;EACA,MAAMQ,cAAc,GAAGN,aAAI,CAACC,OAAO,CAACV,WAAW,EAAEa,qBAAqB,CAAC;EAEvE,IAAI,EAAE,MAAMF,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,sDAAsDO,qBAAqB,iBAC7E,CAAC;EACH;EAEA,MAAMG,eAAe,GAAGlB,eAAe,CAACmB,GAAG,CAAEC,QAAQ,IACnDP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACZ,kBAAkB,EAAEU,QAAQ,CAAC,CAC/C,CAAC;EAED,MAAMG,WAAW,GAAGvB,eAAe,CAACmB,GAAG,CAAEC,QAAQ,IAC/CP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACL,cAAc,EAAEG,QAAQ,CAAC,CAC3C,CAAC;EAED,MAAMI,OAAO,CAACC,UAAU,CAAC,CAAC,GAAGP,eAAe,EAAE,GAAGK,WAAW,CAAC,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,0BAA0BA,CAAA,EAAqB;EACnE,MAAMC,oBAAoB,GAAG,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAC9C,6BAA6B,EAC7B,SAAS,EACT,QAAQ,CACT,CAAC;EACF,OAAOD,oBAAoB,CAACE,QAAQ,CAAC,UAAU,CAAC;AAClD","ignoreList":[]}
1
+ {"version":3,"file":"removeCodegenAppLevelCode.js","names":["_fsExtra","_interopRequireDefault","require","_path","_patchCodegenAndroidPackage","_spawn","e","__esModule","default","FILES_TO_REMOVE","removeCodegenAppLevelCode","projectPath","packageJson","codegenAndroidPathSetting","codegenConfig","outputDir","android","Error","CODEGEN_DOCS","codegenAndroidPath","path","resolve","fs","pathExists","codegenIosPathSetting","ios","codegenIosPath","androidPromises","map","fileName","rm","join","iosPromises","Promise","allSettled","getCodegenCLISourceSupport","codegenCLIHelpOutput","spawn","includes"],"sources":["../../../../src/targets/codegen/patches/removeCodegenAppLevelCode.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { CODEGEN_DOCS } from './patchCodegenAndroidPackage';\nimport { spawn } from '../../../utils/spawn';\n\nconst FILES_TO_REMOVE = [\n 'RCTAppDependencyProvider.h',\n 'RCTAppDependencyProvider.mm',\n 'RCTModulesConformingToProtocolsProvider.h',\n 'RCTModulesConformingToProtocolsProvider.mm',\n 'RCTThirdPartyComponentsProvider.h',\n 'RCTThirdPartyComponentsProvider.mm',\n 'ReactAppDependencyProvider.podspec',\n];\n\n/**\n * With React Native 0.77, calling `@react-native-community/cli codegen` generates\n * some app level source files such as `RCTAppDependencyProvider.mm`.\n * These files are supposed to be only generated for apps\n * but the cli misbehaves and generates them for all sorts of projects.\n * You can find the relevant PR here: https://github.com/facebook/react-native/pull/47650\n * This patch can be removed when this gets fixed in React Native.\n */\nexport async function removeCodegenAppLevelCode(\n projectPath: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: any\n) {\n const codegenAndroidPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.android;\n if (!codegenAndroidPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.android. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenAndroidPath = path.resolve(\n projectPath,\n codegenAndroidPathSetting\n );\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen android path defined in your package.json: ${codegenAndroidPath} doesnt' exist.`\n );\n }\n\n const codegenIosPathSetting: string | undefined =\n packageJson.codegenConfig?.outputDir?.ios;\n if (!codegenIosPathSetting) {\n throw new Error(\n `Your package.json doesn't contain codegenConfig.outputDir.ios. Please see ${CODEGEN_DOCS}`\n );\n }\n const codegenIosPath = path.resolve(projectPath, codegenIosPathSetting);\n\n if (!(await fs.pathExists(codegenAndroidPath))) {\n throw new Error(\n `The codegen iOS path defined in your package.json: ${codegenIosPathSetting} doesnt' exist.`\n );\n }\n\n const androidPromises = FILES_TO_REMOVE.map(async (fileName) =>\n fs.rm(path.join(codegenAndroidPath, fileName))\n );\n\n const iosPromises = FILES_TO_REMOVE.map(async (fileName) =>\n fs.rm(path.join(codegenIosPath, fileName))\n );\n\n await Promise.allSettled([...androidPromises, ...iosPromises]);\n}\n\n/**\n * Codegen generates a different set of files if the target is an app instead.\n * The following commit adds support for a --source argument to support calling codegen as a library:\n * https://github.com/facebook/react-native/commit/98b8f178110472e5fed97de80766c03b0b5e988c\n * Here we just check if the --source argument is supported.\n */\nexport async function getCodegenCLISourceSupport(): Promise<boolean> {\n const codegenCLIHelpOutput = await spawn('npx', [\n '@react-native-community/cli',\n 'codegen',\n '--help',\n ]);\n return codegenCLIHelpOutput.includes('--source');\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,eAAe,GAAG,CACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,2CAA2C,EAC3C,4CAA4C,EAC5C,mCAAmC,EACnC,oCAAoC,EACpC,oCAAoC,CACrC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,yBAAyBA,CAC7CC,WAAmB;AACnB;AACAC,WAAgB,EAChB;EACA,MAAMC,yBAA6C,GACjDD,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEC,OAAO;EAC/C,IAAI,CAACH,yBAAyB,EAAE;IAC9B,MAAM,IAAII,KAAK,CACb,iFAAiFC,wCAAY,EAC/F,CAAC;EACH;EACA,MAAMC,kBAAkB,GAAGC,aAAI,CAACC,OAAO,CACrCV,WAAW,EACXE,yBACF,CAAC;EAED,IAAI,EAAE,MAAMS,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,0DAA0DE,kBAAkB,iBAC9E,CAAC;EACH;EAEA,MAAMK,qBAAyC,GAC7CZ,WAAW,CAACE,aAAa,EAAEC,SAAS,EAAEU,GAAG;EAC3C,IAAI,CAACD,qBAAqB,EAAE;IAC1B,MAAM,IAAIP,KAAK,CACb,6EAA6EC,wCAAY,EAC3F,CAAC;EACH;EACA,MAAMQ,cAAc,GAAGN,aAAI,CAACC,OAAO,CAACV,WAAW,EAAEa,qBAAqB,CAAC;EAEvE,IAAI,EAAE,MAAMF,gBAAE,CAACC,UAAU,CAACJ,kBAAkB,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,sDAAsDO,qBAAqB,iBAC7E,CAAC;EACH;EAEA,MAAMG,eAAe,GAAGlB,eAAe,CAACmB,GAAG,CAAC,MAAOC,QAAQ,IACzDP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACZ,kBAAkB,EAAEU,QAAQ,CAAC,CAC/C,CAAC;EAED,MAAMG,WAAW,GAAGvB,eAAe,CAACmB,GAAG,CAAC,MAAOC,QAAQ,IACrDP,gBAAE,CAACQ,EAAE,CAACV,aAAI,CAACW,IAAI,CAACL,cAAc,EAAEG,QAAQ,CAAC,CAC3C,CAAC;EAED,MAAMI,OAAO,CAACC,UAAU,CAAC,CAAC,GAAGP,eAAe,EAAE,GAAGK,WAAW,CAAC,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeG,0BAA0BA,CAAA,EAAqB;EACnE,MAAMC,oBAAoB,GAAG,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAC9C,6BAA6B,EAC7B,SAAS,EACT,QAAQ,CACT,CAAC;EACF,OAAOD,oBAAoB,CAACE,QAAQ,CAAC,UAAU,CAAC;AAClD","ignoreList":[]}
@@ -172,7 +172,7 @@ async function build({
172
172
  const invalidFieldNames = (await Promise.all(fields.map(async field => {
173
173
  if (field.error) {
174
174
  if (field.value) {
175
- report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${field.message}.`);
175
+ report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${String(field.message)}.`);
176
176
  }
177
177
  return null;
178
178
  }
@@ -192,7 +192,7 @@ async function build({
192
192
  }
193
193
  const validFields = fields.filter(field => !field.error);
194
194
  if (validFields.every(field => field.value == null)) {
195
- const suggestedTypesPaths = (await Promise.all(validFields.map(field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
195
+ const suggestedTypesPaths = (await Promise.all(validFields.map(async field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
196
196
  report.warn(`No ${validFields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${suggestedTypesPaths.length ? `pointing to ${suggestedTypesPaths.map(path => _kleur.default.blue(path)).join(' or ')}` : `adding ${validFields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can use the typescript definitions.`);
197
197
  }
198
198
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["_del","_interopRequireDefault","require","_fsExtra","_json","_kleur","_os","_path","_which","_spawn","e","__esModule","default","build","source","root","output","report","options","variants","esm","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","cwd","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","message","undefined","exports","Boolean","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","stdout","toString","cause"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import del from 'del';\nimport fs from 'fs-extra';\nimport JSON5 from 'json5';\nimport kleur from 'kleur';\nimport { platform } from 'os';\nimport path from 'path';\nimport which from 'which';\nimport type { Input, Variants } from '../types';\nimport { spawn } from '../utils/spawn';\n\ntype Options = Input & {\n options?: {\n project?: string;\n tsc?: string;\n };\n esm: boolean;\n variants: Variants;\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n message: string | undefined;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n variants,\n esm,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = await spawn('yarn', ['bin', 'tsc'], {\n cwd: root,\n });\n\n tsc = result.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs: { commonjs?: string; module?: string } = {};\n\n if (esm && variants.commonjs && variants.module) {\n outputs.commonjs = path.join(output, 'commonjs');\n outputs.module = path.join(output, 'module');\n } else if (variants.commonjs) {\n outputs.commonjs = output;\n } else {\n outputs.module = output;\n }\n\n const outDir = outputs.commonjs ?? outputs.module;\n\n if (outDir == null) {\n throw new Error('Neither commonjs nor module output is enabled.');\n }\n\n const tsbuildinfo = path.join(\n outDir,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n await spawn(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n { cwd: root }\n );\n\n await del([tsbuildinfo]);\n\n if (esm) {\n if (outputs?.commonjs && outputs?.module) {\n // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n } else if (outputs?.commonjs) {\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n } else if (outputs?.module) {\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outDir,\n error: Boolean(\n pkg.exports?.['.']?.import && pkg.exports?.['.']?.require\n ),\n message: `using ${kleur.blue(\n \"exports['.'].import\"\n )} and ${kleur.blue(\n \"exports['.'].require\"\n )}. Specify ${kleur.blue(\n \"exports['.'].import.types\"\n )} and ${kleur.blue(\"exports['.'].require.types\")} instead.`,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !esm,\n message: `the ${kleur.blue(\n 'esm'\n )} option is not enabled for the ${kleur.blue('module')} target`,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when ${field.message}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n }\n }\n\n throw new Error('Failed to build definition files.', { cause: e });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"typescript.js","names":["_del","_interopRequireDefault","require","_fsExtra","_json","_kleur","_os","_path","_which","_spawn","e","__esModule","default","build","source","root","output","report","options","variants","esm","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","cwd","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","message","undefined","exports","Boolean","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","String","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","stdout","toString","cause"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import del from 'del';\nimport fs from 'fs-extra';\nimport JSON5 from 'json5';\nimport kleur from 'kleur';\nimport { platform } from 'os';\nimport path from 'path';\nimport which from 'which';\nimport type { Input, Variants } from '../types';\nimport { spawn } from '../utils/spawn';\n\ntype Options = Input & {\n options?: {\n project?: string;\n tsc?: string;\n };\n esm: boolean;\n variants: Variants;\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n message: string | undefined;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n variants,\n esm,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = await spawn('yarn', ['bin', 'tsc'], {\n cwd: root,\n });\n\n tsc = result.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs: { commonjs?: string; module?: string } = {};\n\n if (esm && variants.commonjs && variants.module) {\n outputs.commonjs = path.join(output, 'commonjs');\n outputs.module = path.join(output, 'module');\n } else if (variants.commonjs) {\n outputs.commonjs = output;\n } else {\n outputs.module = output;\n }\n\n const outDir = outputs.commonjs ?? outputs.module;\n\n if (outDir == null) {\n throw new Error('Neither commonjs nor module output is enabled.');\n }\n\n const tsbuildinfo = path.join(\n outDir,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n await spawn(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n { cwd: root }\n );\n\n await del([tsbuildinfo]);\n\n if (esm) {\n if (outputs?.commonjs && outputs?.module) {\n // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n } else if (outputs?.commonjs) {\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n } else if (outputs?.module) {\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outDir,\n error: Boolean(\n pkg.exports?.['.']?.import && pkg.exports?.['.']?.require\n ),\n message: `using ${kleur.blue(\n \"exports['.'].import\"\n )} and ${kleur.blue(\n \"exports['.'].require\"\n )}. Specify ${kleur.blue(\n \"exports['.'].import.types\"\n )} and ${kleur.blue(\"exports['.'].require.types\")} instead.`,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !esm,\n message: `the ${kleur.blue(\n 'esm'\n )} option is not enabled for the ${kleur.blue('module')} target`,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when ${String(field.message)}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map(async (field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n }\n }\n\n throw new Error('Failed to build definition files.', { cause: e });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -60,7 +60,7 @@ async function compile({
60
60
  await _fsExtra.default.mkdirp(_path.default.dirname(outputFilename));
61
61
  if (!sourceExt.test(filepath)) {
62
62
  // Copy files which aren't source code
63
- _fsExtra.default.copy(filepath, outputFilename);
63
+ await _fsExtra.default.copy(filepath, outputFilename);
64
64
  return;
65
65
  }
66
66
  const content = await _fsExtra.default.readFile(filepath, 'utf-8');
@@ -69,7 +69,7 @@ async function compile({
69
69
  // So we copy the file as is instead of transforming it
70
70
  const codegenEnabled = 'codegenConfig' in pkg;
71
71
  if (codegenEnabled && (0, _isCodegenSpec.isCodegenSpec)(filepath)) {
72
- _fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
72
+ await _fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
73
73
  return;
74
74
  }
75
75
  const result = await babel.transformAsync(content, {
@@ -96,7 +96,7 @@ async function compile({
96
96
  if (result == null) {
97
97
  throw new Error('Output code was null');
98
98
  }
99
- let code = result.code;
99
+ let code = result.code || '';
100
100
  if (sourceMaps && result.map) {
101
101
  const mapFilename = outputFilename + '.map';
102
102
  code += '\n//# sourceMappingURL=' + _path.default.basename(mapFilename);
@@ -107,7 +107,7 @@ async function compile({
107
107
  }
108
108
  await _fsExtra.default.writeFile(outputFilename, code);
109
109
  if (copyFlow) {
110
- _fsExtra.default.copy(filepath, outputFilename + '.flow');
110
+ await _fsExtra.default.copy(filepath, outputFilename + '.flow');
111
111
  }
112
112
  }));
113
113
  report.success(`Wrote files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
@@ -178,12 +178,12 @@ async function compile({
178
178
  }
179
179
  const generatedEntryPath = await getGeneratedEntryPath();
180
180
  if (fields.some(field => field.value)) {
181
- await Promise.all(fields.map(async ({
181
+ for (const {
182
182
  name,
183
183
  value
184
- }) => {
184
+ } of fields) {
185
185
  if (!value) {
186
- return;
186
+ continue;
187
187
  }
188
188
  if (name.startsWith('exports') && value && !/^\.\//.test(value)) {
189
189
  report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(value)}`);
@@ -203,11 +203,13 @@ async function compile({
203
203
  }
204
204
  throw e;
205
205
  }
206
- }));
207
- if (modules === 'commonjs' && pkg.exports?.['.']?.import === `./${generatedEntryPath}`) {
208
- report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a CommonJS module. This is likely a mistake.`);
209
- } else if (modules === 'preserve' && pkg.exports?.['.']?.require === `./${generatedEntryPath}`) {
210
- report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a ES module. This is likely a mistake.`);
206
+ }
207
+ if (generatedEntryPath) {
208
+ if (modules === 'commonjs' && pkg.exports?.['.']?.import === `./${generatedEntryPath}`) {
209
+ report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a CommonJS module. This is likely a mistake.`);
210
+ } else if (modules === 'preserve' && pkg.exports?.['.']?.require === `./${generatedEntryPath}`) {
211
+ report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a ES module. This is likely a mistake.`);
212
+ }
211
213
  }
212
214
  } else {
213
215
  report.warn(`No ${fields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing to ${_kleur.default.blue(generatedEntryPath)}` : `adding ${fields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can import your package.`);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","variants","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","codegenEnabled","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","commonjs","module","push","value","main","exports","import","generatedEntryPath","some","field","startsWith","error","cause"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input, Variants } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\nexport type CompileOptions = {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\ntype Options = Input &\n CompileOptions & {\n modules: 'commonjs' | 'preserve';\n variants: Variants;\n exclude: string;\n };\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n variants,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n const codegenEnabled = 'codegenConfig' in pkg;\n\n if (codegenEnabled && isCodegenSpec(filepath)) {\n fs.copy(filepath, path.join(output, path.relative(source, filepath)));\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields: { name: string; value: string | undefined }[] = [];\n\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push({ name: 'main', value: pkg.main });\n } else {\n fields.push({ name: 'module', value: pkg.module });\n }\n } else {\n fields.push({ name: 'main', value: pkg.main });\n }\n\n if (esm) {\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n fields.push({\n name: \"exports['.'].default\",\n value: pkg.exports?.['.']?.default,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`, {\n cause: e,\n });\n }\n\n throw e;\n }\n })\n );\n\n if (\n modules === 'commonjs' &&\n pkg.exports?.['.']?.import === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a CommonJS module. This is likely a mistake.`\n );\n } else if (\n modules === 'preserve' &&\n pkg.exports?.['.']?.require === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a ES module. This is likely a mistake.`\n );\n }\n } else {\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","variants","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","codegenEnabled","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","commonjs","module","push","value","main","exports","import","generatedEntryPath","some","field","startsWith","error","cause"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input, Variants } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\nexport type CompileOptions = {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\ntype Options = Input &\n CompileOptions & {\n modules: 'commonjs' | 'preserve';\n variants: Variants;\n exclude: string;\n };\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n variants,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n await fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n const codegenEnabled = 'codegenConfig' in pkg;\n\n if (codegenEnabled && isCodegenSpec(filepath)) {\n await fs.copy(\n filepath,\n path.join(output, path.relative(source, filepath))\n );\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code || '';\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n await fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields: { name: string; value: string | undefined }[] = [];\n\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push({ name: 'main', value: pkg.main });\n } else {\n fields.push({ name: 'module', value: pkg.module });\n }\n } else {\n fields.push({ name: 'main', value: pkg.main });\n }\n\n if (esm) {\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n fields.push({\n name: \"exports['.'].default\",\n value: pkg.exports?.['.']?.default,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (fields.some((field) => field.value)) {\n for (const { name, value } of fields) {\n if (!value) {\n continue;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`, {\n cause: e,\n });\n }\n\n throw e;\n }\n }\n\n if (generatedEntryPath) {\n if (\n modules === 'commonjs' &&\n pkg.exports?.['.']?.import === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a CommonJS module. This is likely a mistake.`\n );\n } else if (\n modules === 'preserve' &&\n pkg.exports?.['.']?.require === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a ES module. This is likely a mistake.`\n );\n }\n }\n } else {\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = prompts;
7
7
  var _prompts = _interopRequireDefault(require("prompts"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- function prompts(args, options) {
9
+ async function prompts(args, options) {
10
10
  return (0, _prompts.default)(args, {
11
11
  onCancel() {
12
12
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,SAASG,OAAOA,CAC7BC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default async function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,eAAeG,OAAOA,CACnCC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -24,7 +24,7 @@ const spawn = async (...args) => {
24
24
  if (code === 0) {
25
25
  resolve(stdout.trim());
26
26
  } else {
27
- const error = new Error(stderr.trim() || `Command exited with code ${code}`);
27
+ const error = new Error(stderr.trim() || `Command exited with code ${String(code)}`);
28
28
  Object.defineProperties(error, {
29
29
  stdout: {
30
30
  enumerable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","names":["_crossSpawn","_interopRequireDefault","require","e","__esModule","default","spawn","args","Promise","resolve","reject","child","crossSpawn","stdout","stderr","setEncoding","on","data","once","code","trim","error","Error","Object","defineProperties","enumerable","value","exports"],"sources":["../../src/utils/spawn.ts"],"sourcesContent":["import crossSpawn from 'cross-spawn';\n\nexport const spawn = async (...args: Parameters<typeof crossSpawn>) => {\n return new Promise<string>((resolve, reject) => {\n const child = crossSpawn(...args);\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.setEncoding('utf8');\n child.stdout?.on('data', (data) => {\n stdout += data;\n });\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', (code) => {\n if (code === 0) {\n resolve(stdout.trim());\n } else {\n const error = new Error(\n stderr.trim() || `Command exited with code ${code}`\n );\n\n Object.defineProperties(error, {\n stdout: {\n enumerable: false,\n value: stdout,\n },\n stderr: {\n enumerable: false,\n value: stderr,\n },\n code: {\n enumerable: false,\n value: code,\n },\n });\n\n reject(error);\n }\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,KAAK,GAAG,MAAAA,CAAO,GAAGC,IAAmC,KAAK;EACrE,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC9C,MAAMC,KAAK,GAAG,IAAAC,mBAAU,EAAC,GAAGL,IAAI,CAAC;IAEjC,IAAIM,MAAM,GAAG,EAAE;IACf,IAAIC,MAAM,GAAG,EAAE;IAEfH,KAAK,CAACE,MAAM,EAAEE,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACE,MAAM,EAAEG,EAAE,CAAC,MAAM,EAAGC,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":[]}
1
+ {"version":3,"file":"spawn.js","names":["_crossSpawn","_interopRequireDefault","require","e","__esModule","default","spawn","args","Promise","resolve","reject","child","crossSpawn","stdout","stderr","setEncoding","on","data","once","code","trim","error","Error","String","Object","defineProperties","enumerable","value","exports"],"sources":["../../src/utils/spawn.ts"],"sourcesContent":["import crossSpawn from 'cross-spawn';\n\nexport const spawn = async (...args: Parameters<typeof crossSpawn>) => {\n return new Promise<string>((resolve, reject) => {\n const child = crossSpawn(...args);\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.setEncoding('utf8');\n child.stdout?.on('data', (data: string) => {\n stdout += data;\n });\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data: string) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', (code) => {\n if (code === 0) {\n resolve(stdout.trim());\n } else {\n const error = new Error(\n stderr.trim() || `Command exited with code ${String(code)}`\n );\n\n Object.defineProperties(error, {\n stdout: {\n enumerable: false,\n value: stdout,\n },\n stderr: {\n enumerable: false,\n value: stderr,\n },\n code: {\n enumerable: false,\n value: code,\n },\n });\n\n reject(error);\n }\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,KAAK,GAAG,MAAAA,CAAO,GAAGC,IAAmC,KAAK;EACrE,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC9C,MAAMC,KAAK,GAAG,IAAAC,mBAAU,EAAC,GAAGL,IAAI,CAAC;IAEjC,IAAIM,MAAM,GAAG,EAAE;IACf,IAAIC,MAAM,GAAG,EAAE;IAEfH,KAAK,CAACE,MAAM,EAAEE,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACE,MAAM,EAAEG,EAAE,CAAC,MAAM,EAAGC,IAAY,IAAK;MACzCJ,MAAM,IAAII,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACG,MAAM,EAAEC,WAAW,CAAC,MAAM,CAAC;IACjCJ,KAAK,CAACG,MAAM,EAAEE,EAAE,CAAC,MAAM,EAAGC,IAAY,IAAK;MACzCH,MAAM,IAAIG,IAAI;IAChB,CAAC,CAAC;IAEFN,KAAK,CAACO,IAAI,CAAC,OAAO,EAAER,MAAM,CAAC;IAC3BC,KAAK,CAACO,IAAI,CAAC,OAAO,EAAGC,IAAI,IAAK;MAC5B,IAAIA,IAAI,KAAK,CAAC,EAAE;QACdV,OAAO,CAACI,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC;MACxB,CAAC,MAAM;QACL,MAAMC,KAAK,GAAG,IAAIC,KAAK,CACrBR,MAAM,CAACM,IAAI,CAAC,CAAC,IAAI,4BAA4BG,MAAM,CAACJ,IAAI,CAAC,EAC3D,CAAC;QAEDK,MAAM,CAACC,gBAAgB,CAACJ,KAAK,EAAE;UAC7BR,MAAM,EAAE;YACNa,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEd;UACT,CAAC;UACDC,MAAM,EAAE;YACNY,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEb;UACT,CAAC;UACDK,IAAI,EAAE;YACJO,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAER;UACT;QACF,CAAC,CAAC;QAEFT,MAAM,CAACW,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACO,OAAA,CAAAtB,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -57,7 +57,7 @@ const run = async (target, {
57
57
  });
58
58
  worker.on('exit', code => {
59
59
  if (code !== 0) {
60
- reject(new Error(`Worker exited with code ${code}`));
60
+ reject(new Error(`Worker exited with code ${String(code)}`));
61
61
  } else {
62
62
  resolve();
63
63
  }
@@ -66,6 +66,7 @@ const run = async (target, {
66
66
  };
67
67
  exports.run = run;
68
68
  if (!_nodeWorker_threads.isMainThread) {
69
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
69
70
  const {
70
71
  target,
71
72
  data
@@ -90,7 +91,7 @@ if (!_nodeWorker_threads.isMainThread) {
90
91
  };
91
92
  if (target in targets) {
92
93
  // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581
93
- targets[target]({
94
+ void targets[target]({
94
95
  ...data,
95
96
  report
96
97
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report } from '../types';\nimport type { Target } from '../schema';\n\ntype WorkerData<T extends Target> = {\n target: T;\n data: Omit<Parameters<(typeof targets)[T]>[0], 'report'>;\n};\n\nconst targets = {\n commonjs,\n module,\n typescript,\n codegen,\n custom,\n} as const;\n\nexport const run = async <T extends Target>(\n target: T,\n { report, ...data }: Parameters<(typeof targets)[T]>[0]\n) => {\n if (!isMainThread) {\n throw new Error('Worker can only be run from the main thread');\n }\n\n return new Promise<void>((resolve, reject) => {\n const worker = new Worker(__filename, {\n workerData: {\n target,\n data,\n } satisfies WorkerData<T>,\n env: {\n ...process.env,\n FORCE_COLOR: process.stdout.isTTY ? '1' : '0',\n },\n });\n\n worker.on('message', (message) => {\n switch (message.type) {\n case 'info':\n report.info(message.message);\n break;\n case 'warn':\n report.warn(message.message);\n break;\n case 'error':\n report.error(message.message);\n break;\n case 'success':\n report.success(message.message);\n break;\n }\n });\n\n worker.on('error', (error) => {\n reject(error);\n });\n\n worker.on('exit', (code) => {\n if (code !== 0) {\n reject(new Error(`Worker exited with code ${code}`));\n } else {\n resolve();\n }\n });\n });\n};\n\nif (!isMainThread) {\n const { target, data } = workerData as WorkerData<Target>;\n\n const report: Report = {\n info: (message) => parentPort?.postMessage({ type: 'info', message }),\n warn: (message) => parentPort?.postMessage({ type: 'warn', message }),\n error: (message) => parentPort?.postMessage({ type: 'error', message }),\n success: (message) => parentPort?.postMessage({ type: 'success', message }),\n };\n\n if (target in targets) {\n // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581\n targets[target]({ ...data, report });\n } else {\n throw new Error(`Unknown target: ${target}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","String","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report } from '../types';\nimport type { Target } from '../schema';\n\ntype WorkerData<T extends Target> = {\n target: T;\n data: Omit<Parameters<(typeof targets)[T]>[0], 'report'>;\n};\n\nconst targets = {\n commonjs,\n module,\n typescript,\n codegen,\n custom,\n} as const;\n\nexport const run = async <T extends Target>(\n target: T,\n { report, ...data }: Parameters<(typeof targets)[T]>[0]\n) => {\n if (!isMainThread) {\n throw new Error('Worker can only be run from the main thread');\n }\n\n return new Promise<void>((resolve, reject) => {\n const worker = new Worker(__filename, {\n workerData: {\n target,\n data,\n } satisfies WorkerData<T>,\n env: {\n ...process.env,\n FORCE_COLOR: process.stdout.isTTY ? '1' : '0',\n },\n });\n\n worker.on('message', (message) => {\n switch (message.type) {\n case 'info':\n report.info(message.message);\n break;\n case 'warn':\n report.warn(message.message);\n break;\n case 'error':\n report.error(message.message);\n break;\n case 'success':\n report.success(message.message);\n break;\n }\n });\n\n worker.on('error', (error) => {\n reject(error);\n });\n\n worker.on('exit', (code) => {\n if (code !== 0) {\n reject(new Error(`Worker exited with code ${String(code)}`));\n } else {\n resolve();\n }\n });\n });\n};\n\nif (!isMainThread) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const { target, data } = workerData as WorkerData<Target>;\n\n const report: Report = {\n info: (message) => parentPort?.postMessage({ type: 'info', message }),\n warn: (message) => parentPort?.postMessage({ type: 'warn', message }),\n error: (message) => parentPort?.postMessage({ type: 'error', message }),\n success: (message) => parentPort?.postMessage({ type: 'success', message }),\n };\n\n if (target in targets) {\n // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581\n void targets[target]({ ...data, report });\n } else {\n throw new Error(`Unknown target: ${target}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/metro-config.js CHANGED
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-require-imports, import-x/no-commonjs, no-undef */
1
+ /* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/no-require-imports, import-x/no-commonjs, no-undef */
2
2
 
3
3
  const { withMetroConfig } = require('react-native-monorepo-config');
4
4
 
@@ -7,6 +7,8 @@ const { withMetroConfig } = require('react-native-monorepo-config');
7
7
  * This sets up appropriate root and watch folders for the library.
8
8
  * It also excludes conflicting modules and aliases them to the correct place.
9
9
  *
10
+ * @deprecated use `react-native-monorepo-config` instead
11
+ *
10
12
  * @param {import('metro-config').MetroConfig} baseConfig Base Metro configuration
11
13
  * @param {object} options Options to customize the configuration
12
14
  * @param {string} options.root Root directory of the monorepo
@@ -14,4 +16,5 @@ const { withMetroConfig } = require('react-native-monorepo-config');
14
16
  * @returns {import('metro-config').MetroConfig} Metro configuration
15
17
  */
16
18
  exports.getConfig = (baseConfig, { root, project }) =>
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
17
20
  withMetroConfig(baseConfig, { root, dirname: project });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.40.10",
3
+ "version": "0.40.11",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -83,5 +83,5 @@
83
83
  "mock-stdin": "^1.0.0",
84
84
  "vitest": "^3.1.1"
85
85
  },
86
- "gitHead": "d9cd3e4c2cf08eb4767ec257557b6347593eb31e"
86
+ "gitHead": "d02ae54a99d8fd62773a0d9523b11628012665bf"
87
87
  }