react-native-builder-bob 0.20.1 → 0.20.3

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/lib/index.js CHANGED
@@ -188,7 +188,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
188
188
  }
189
189
  }
190
190
 
191
- const prepare = 'bob build';
191
+ const prepack = 'bob build';
192
192
  const files = [source, output, '!**/__tests__', '!**/__fixtures__', '!**/__mocks__'];
193
193
 
194
194
  for (const key in entries) {
@@ -212,22 +212,22 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
212
212
  }
213
213
  }
214
214
 
215
- if ((_pkg$scripts = pkg.scripts) !== null && _pkg$scripts !== void 0 && _pkg$scripts.prepare && pkg.scripts.prepare !== prepare) {
215
+ if ((_pkg$scripts = pkg.scripts) !== null && _pkg$scripts !== void 0 && _pkg$scripts.prepack && pkg.scripts.prepack !== prepack) {
216
216
  const {
217
217
  replace
218
218
  } = await (0, _prompts.default)({
219
219
  type: 'confirm',
220
220
  name: 'replace',
221
- message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'. Do you want to replace it with '${prepare}'?`,
221
+ message: `Your package.json has the 'scripts.prepack' field set to '${pkg.scripts.prepack}'. Do you want to replace it with '${prepack}'?`,
222
222
  initial: true
223
223
  });
224
224
 
225
225
  if (replace) {
226
- pkg.scripts.prepare = prepare;
226
+ pkg.scripts.prepack = prepack;
227
227
  }
228
228
  } else {
229
229
  pkg.scripts = pkg.scripts || {};
230
- pkg.scripts.prepare = prepare;
230
+ pkg.scripts.prepack = prepack;
231
231
  }
232
232
 
233
233
  if (pkg.files && JSON.stringify(pkg.files.slice().sort()) !== JSON.stringify(files.slice().sort())) {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["name","version","require","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","pak","path","join","isGitDirty","shouldContinue","prompts","type","message","initial","exit","fs","pathExists","logger","source","validate","input","Boolean","entryFile","pkg","JSON","parse","readFile","devDependencies","Object","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","module","types","tsconfig","writeFile","stringify","compilerOptions","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","prepare","files","key","entry","replace","scripts","slice","update","filter","file","map","t","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","result","search","config","$0","options","relative","filepath","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildAAR","resolve","buildCommonJS","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildAAR from './targets/aar';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\n// eslint-disable-next-line babel/no-unused-expressions\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n const pak = path.join(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. You should commit or stash your changes before configuring bob. Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(1);\n }\n }\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'. Please re-run the CLI after creating it.`\n );\n return;\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n {\n title: 'aar - bundle android code to a binary',\n value: 'aar',\n selected: false,\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: { [key: string]: string } = {\n 'main': target\n ? path.join(output, target, 'index.js')\n : path.join(source, entryFile),\n 'react-native': path.join(source, entryFile),\n };\n\n if (targets.includes('module')) {\n entries.module = path.join(output, 'module', 'index.js');\n }\n\n if (targets.includes('typescript')) {\n entries.types = path.join(output, 'typescript', source, 'index.d.ts');\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root. Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeFile(\n path.join(root, 'tsconfig.json'),\n JSON.stringify(\n {\n compilerOptions: {\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react',\n lib: ['esnext'],\n module: 'esnext',\n moduleResolution: 'node',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'esnext',\n },\n },\n null,\n 2\n )\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'. Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'. Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field. Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\n ),\n ];\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { flow }];\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.writeFile(pak, JSON.stringify(pkg, null, 2));\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 console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray(':')} yarn\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', {}, async (argv) => {\n const result = explorer.search();\n\n if (!result?.config) {\n logger.exit(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.exit(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'aar':\n await buildAAR({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'aar'),\n options: targetOptions,\n report,\n });\n break;\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["name","version","require","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","pak","path","join","isGitDirty","shouldContinue","prompts","type","message","initial","exit","fs","pathExists","logger","source","validate","input","Boolean","entryFile","pkg","JSON","parse","readFile","devDependencies","Object","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","module","types","tsconfig","writeFile","stringify","compilerOptions","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","prepack","files","key","entry","replace","scripts","slice","update","filter","file","map","t","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","result","search","config","$0","options","relative","filepath","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildAAR","resolve","buildCommonJS","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildAAR from './targets/aar';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\n// eslint-disable-next-line babel/no-unused-expressions\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n const pak = path.join(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. You should commit or stash your changes before configuring bob. Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(1);\n }\n }\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'. Please re-run the CLI after creating it.`\n );\n return;\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n {\n title: 'aar - bundle android code to a binary',\n value: 'aar',\n selected: false,\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: { [key: string]: string } = {\n 'main': target\n ? path.join(output, target, 'index.js')\n : path.join(source, entryFile),\n 'react-native': path.join(source, entryFile),\n };\n\n if (targets.includes('module')) {\n entries.module = path.join(output, 'module', 'index.js');\n }\n\n if (targets.includes('typescript')) {\n entries.types = path.join(output, 'typescript', source, 'index.d.ts');\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root. Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeFile(\n path.join(root, 'tsconfig.json'),\n JSON.stringify(\n {\n compilerOptions: {\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react',\n lib: ['esnext'],\n module: 'esnext',\n moduleResolution: 'node',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'esnext',\n },\n },\n null,\n 2\n )\n );\n }\n }\n }\n\n const prepack = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'. Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (pkg.scripts?.prepack && pkg.scripts.prepack !== prepack) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepack' field set to '${pkg.scripts.prepack}'. Do you want to replace it with '${prepack}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepack = prepack;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepack = prepack;\n }\n\n if (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field. Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\n ),\n ];\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { flow }];\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.writeFile(pak, JSON.stringify(pkg, null, 2));\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 console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray(':')} yarn\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', {}, async (argv) => {\n const result = explorer.search();\n\n if (!result?.config) {\n logger.exit(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.exit(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'aar':\n await buildAAR({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'aar'),\n options: targetOptions,\n report,\n });\n break;\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAGA;AACA,MAAM;EAAEA,IAAF;EAAQC;AAAR,IAAoBC,OAAO,CAAC,iBAAD,CAAjC;;AAEA,MAAMC,IAAI,GAAGC,OAAO,CAACC,GAAR,EAAb;AACA,MAAMC,QAAQ,GAAG,IAAAC,4BAAA,EAAgBP,IAAhB,EAAsB;EACrCQ,YAAY,EAAE,CAAC,cAAD,EAAkB,eAAlB;AADuB,CAAtB,CAAjB;AAIA,MAAMC,iBAAiB,GAAG,kBAA1B,C,CAEA;;AACAC,cAAA,CACGC,OADH,CACW,MADX,EACmB,kCADnB,EACuD,EADvD,EAC2D,YAAY;EAAA;;EACnE,MAAMC,GAAG,GAAGC,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgB,cAAhB,CAAZ;;EAEA,IAAI,IAAAY,mBAAA,GAAJ,EAAkB;IAChB,MAAM;MAAEC;IAAF,IAAqB,MAAM,IAAAC,gBAAA,EAAQ;MACvCC,IAAI,EAAE,SADiC;MAEvClB,IAAI,EAAE,gBAFiC;MAGvCmB,OAAO,EAAG,sHAH6B;MAIvCC,OAAO,EAAE;IAJ8B,CAAR,CAAjC;;IAOA,IAAI,CAACJ,cAAL,EAAqB;MACnBZ,OAAO,CAACiB,IAAR,CAAa,CAAb;IACD;EACF;;EAED,IAAI,EAAE,MAAMC,gBAAA,CAAGC,UAAH,CAAcX,GAAd,CAAR,CAAJ,EAAiC;IAC/BY,MAAM,CAACH,IAAP,CACG,2CAA0ClB,IAAK,iCADlD;EAGD;;EAED,MAAM;IAAEsB;EAAF,IAAa,MAAM,IAAAR,gBAAA,EAAQ;IAC/BC,IAAI,EAAE,MADyB;IAE/BlB,IAAI,EAAE,QAFyB;IAG/BmB,OAAO,EAAE,8BAHsB;IAI/BC,OAAO,EAAE,KAJsB;IAK/BM,QAAQ,EAAGC,KAAD,IAAWC,OAAO,CAACD,KAAD;EALG,CAAR,CAAzB;EAQA,IAAIE,SAAJ;;EAEA,IAAI,MAAMP,gBAAA,CAAGC,UAAH,CAAcV,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgBsB,MAAhB,EAAwB,UAAxB,CAAd,CAAV,EAA8D;IAC5DI,SAAS,GAAG,UAAZ;EACD,CAFD,MAEO,IAAI,MAAMP,gBAAA,CAAGC,UAAH,CAAcV,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgBsB,MAAhB,EAAwB,UAAxB,CAAd,CAAV,EAA8D;IACnEI,SAAS,GAAG,UAAZ;EACD,CAFM,MAEA,IAAI,MAAMP,gBAAA,CAAGC,UAAH,CAAcV,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgBsB,MAAhB,EAAwB,WAAxB,CAAd,CAAV,EAA+D;IACpEI,SAAS,GAAG,WAAZ;EACD;;EAED,IAAI,CAACA,SAAL,EAAgB;IACdL,MAAM,CAACH,IAAP,CACG,qEAAoEI,MAAO,6CAD9E;IAGA;EACD;;EAED,MAAMK,GAAG,GAAGC,IAAI,CAACC,KAAL,CAAW,MAAMV,gBAAA,CAAGW,QAAH,CAAYrB,GAAZ,EAAiB,OAAjB,CAAjB,CAAZ;EAEAkB,GAAG,CAACI,eAAJ,GAAsBC,MAAM,CAACC,WAAP,CACpB,CACE,GAAGD,MAAM,CAACE,OAAP,CAAeP,GAAG,CAACI,eAAJ,IAAuB,EAAtC,CADL,EAEE,CAAClC,IAAD,EAAQ,IAAGC,OAAQ,EAAnB,CAFF,EAGEqC,IAHF,CAGO,CAAC,CAACC,CAAD,CAAD,EAAM,CAACC,CAAD,CAAN,KAAcD,CAAC,CAACE,aAAF,CAAgBD,CAAhB,CAHrB,CADoB,CAAtB;EAOA,MAAME,SAAyB,GAAG,CAChC;IACExB,IAAI,EAAE,MADR;IAEElB,IAAI,EAAE,QAFR;IAGEmB,OAAO,EAAE,iDAHX;IAIEC,OAAO,EAAE,KAJX;IAKEM,QAAQ,EAAGC,KAAD,IAAmBC,OAAO,CAACD,KAAD;EALtC,CADgC,EAQhC;IACET,IAAI,EAAE,aADR;IAEElB,IAAI,EAAE,SAFR;IAGEmB,OAAO,EAAE,qCAHX;IAIEwB,OAAO,EAAE,CACP;MACEC,KAAK,EAAE,kDADT;MAEEC,KAAK,EAAE,UAFT;MAGEC,QAAQ,EAAE;IAHZ,CADO,EAMP;MACEF,KAAK,EAAE,6CADT;MAEEC,KAAK,EAAE,QAFT;MAGEC,QAAQ,EAAE;IAHZ,CANO,EAWP;MACEF,KAAK,EAAE,iDADT;MAEEC,KAAK,EAAE,YAFT;MAGEC,QAAQ,EAAE,UAAUC,IAAV,CAAelB,SAAf;IAHZ,CAXO,EAgBP;MACEe,KAAK,EAAE,uCADT;MAEEC,KAAK,EAAE,KAFT;MAGEC,QAAQ,EAAE;IAHZ,CAhBO,CAJX;IA0BEpB,QAAQ,EAAGC,KAAD,IAAmBC,OAAO,CAACD,KAAK,CAACqB,MAAP;EA1BtC,CARgC,CAAlC;;EAsCA,IACEnB,SAAS,CAACoB,QAAV,CAAmB,KAAnB,KACAxC,iBAAiB,CAACsC,IAAlB,CACE,MAAMzB,gBAAA,CAAGW,QAAH,CAAYpB,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgBsB,MAAhB,EAAwBI,SAAxB,CAAZ,EAAgD,OAAhD,CADR,CAFF,EAKE;IACAa,SAAS,CAACQ,IAAV,CAAe;MACbhC,IAAI,EAAE,SADO;MAEblB,IAAI,EAAE,MAFO;MAGbmB,OAAO,EAAE,8CAHI;MAIbC,OAAO,EAAEe,MAAM,CAACgB,IAAP,CAAYrB,GAAG,CAACI,eAAJ,IAAuB,EAAnC,EAAuCkB,QAAvC,CAAgD,UAAhD;IAJI,CAAf;EAMD;;EAED,MAAM;IAAEC,MAAF;IAAUC,OAAV;IAAmBC;EAAnB,IAA4B,MAAM,IAAAtC,gBAAA,EAAQyB,SAAR,CAAxC;EAEA,MAAMc,MAAM,GACVF,OAAO,CAAC,CAAD,CAAP,KAAe,UAAf,IAA6BA,OAAO,CAAC,CAAD,CAAP,KAAe,QAA5C,GACIA,OAAO,CAAC,CAAD,CADX,GAEIG,SAHN;EAKA,MAAMpB,OAAkC,GAAG;IACzC,QAAQmB,MAAM,GACV3C,aAAA,CAAKC,IAAL,CAAUuC,MAAV,EAAkBG,MAAlB,EAA0B,UAA1B,CADU,GAEV3C,aAAA,CAAKC,IAAL,CAAUW,MAAV,EAAkBI,SAAlB,CAHqC;IAIzC,gBAAgBhB,aAAA,CAAKC,IAAL,CAAUW,MAAV,EAAkBI,SAAlB;EAJyB,CAA3C;;EAOA,IAAIyB,OAAO,CAACF,QAAR,CAAiB,QAAjB,CAAJ,EAAgC;IAC9Bf,OAAO,CAACqB,MAAR,GAAiB7C,aAAA,CAAKC,IAAL,CAAUuC,MAAV,EAAkB,QAAlB,EAA4B,UAA5B,CAAjB;EACD;;EAED,IAAIC,OAAO,CAACF,QAAR,CAAiB,YAAjB,CAAJ,EAAoC;IAClCf,OAAO,CAACsB,KAAR,GAAgB9C,aAAA,CAAKC,IAAL,CAAUuC,MAAV,EAAkB,YAAlB,EAAgC5B,MAAhC,EAAwC,YAAxC,CAAhB;;IAEA,IAAI,EAAE,MAAMH,gBAAA,CAAGC,UAAH,CAAcV,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgB,eAAhB,CAAd,CAAR,CAAJ,EAA8D;MAC5D,MAAM;QAAEyD;MAAF,IAAe,MAAM,IAAA3C,gBAAA,EAAQ;QACjCC,IAAI,EAAE,SAD2B;QAEjClB,IAAI,EAAE,UAF2B;QAGjCmB,OAAO,EAAG,kHAHuB;QAIjCC,OAAO,EAAE;MAJwB,CAAR,CAA3B;;MAOA,IAAIwC,QAAJ,EAAc;QACZ,MAAMtC,gBAAA,CAAGuC,SAAH,CACJhD,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgB,eAAhB,CADI,EAEJ4B,IAAI,CAAC+B,SAAL,CACE;UACEC,eAAe,EAAE;YACfC,oBAAoB,EAAE,KADP;YAEfC,iBAAiB,EAAE,KAFJ;YAGfC,eAAe,EAAE,IAHF;YAIfC,gCAAgC,EAAE,IAJnB;YAKfC,GAAG,EAAE,OALU;YAMfC,GAAG,EAAE,CAAC,QAAD,CANU;YAOfX,MAAM,EAAE,QAPO;YAQfY,gBAAgB,EAAE,MARH;YASfC,0BAA0B,EAAE,IATb;YAUfC,iBAAiB,EAAE,IAVJ;YAWfC,mBAAmB,EAAE,KAXN;YAYfC,qBAAqB,EAAE,KAZR;YAafC,cAAc,EAAE,IAbD;YAcfC,kBAAkB,EAAE,IAdL;YAefC,iBAAiB,EAAE,IAfJ;YAgBfC,YAAY,EAAE,IAhBC;YAiBfC,MAAM,EAAE,IAjBO;YAkBfvB,MAAM,EAAE;UAlBO;QADnB,CADF,EAuBE,IAvBF,EAwBE,CAxBF,CAFI,CAAN;MA6BD;IACF;EACF;;EAED,MAAMwB,OAAO,GAAG,WAAhB;EACA,MAAMC,KAAK,GAAG,CACZxD,MADY,EAEZ4B,MAFY,EAGZ,eAHY,EAIZ,kBAJY,EAKZ,eALY,CAAd;;EAQA,KAAK,MAAM6B,GAAX,IAAkB7C,OAAlB,EAA2B;IACzB,MAAM8C,KAAK,GAAG9C,OAAO,CAAC6C,GAAD,CAArB;;IAEA,IAAIpD,GAAG,CAACoD,GAAD,CAAH,IAAYpD,GAAG,CAACoD,GAAD,CAAH,KAAaC,KAA7B,EAAoC;MAClC,MAAM;QAAEC;MAAF,IAAc,MAAM,IAAAnE,gBAAA,EAAQ;QAChCC,IAAI,EAAE,SAD0B;QAEhClB,IAAI,EAAE,SAF0B;QAGhCmB,OAAO,EAAG,8BAA6B+D,GAAI,mBAAkBpD,GAAG,CAACoD,GAAD,CAAM,sCAAqCC,KAAM,IAHjF;QAIhC/D,OAAO,EAAE;MAJuB,CAAR,CAA1B;;MAOA,IAAIgE,OAAJ,EAAa;QACXtD,GAAG,CAACoD,GAAD,CAAH,GAAWC,KAAX;MACD;IACF,CAXD,MAWO;MACLrD,GAAG,CAACoD,GAAD,CAAH,GAAWC,KAAX;IACD;EACF;;EAED,IAAI,gBAAArD,GAAG,CAACuD,OAAJ,sDAAaL,OAAb,IAAwBlD,GAAG,CAACuD,OAAJ,CAAYL,OAAZ,KAAwBA,OAApD,EAA6D;IAC3D,MAAM;MAAEI;IAAF,IAAc,MAAM,IAAAnE,gBAAA,EAAQ;MAChCC,IAAI,EAAE,SAD0B;MAEhClB,IAAI,EAAE,SAF0B;MAGhCmB,OAAO,EAAG,6DAA4DW,GAAG,CAACuD,OAAJ,CAAYL,OAAQ,sCAAqCA,OAAQ,IAHvG;MAIhC5D,OAAO,EAAE;IAJuB,CAAR,CAA1B;;IAOA,IAAIgE,OAAJ,EAAa;MACXtD,GAAG,CAACuD,OAAJ,CAAYL,OAAZ,GAAsBA,OAAtB;IACD;EACF,CAXD,MAWO;IACLlD,GAAG,CAACuD,OAAJ,GAAcvD,GAAG,CAACuD,OAAJ,IAAe,EAA7B;IACAvD,GAAG,CAACuD,OAAJ,CAAYL,OAAZ,GAAsBA,OAAtB;EACD;;EAED,IACElD,GAAG,CAACmD,KAAJ,IACAlD,IAAI,CAAC+B,SAAL,CAAehC,GAAG,CAACmD,KAAJ,CAAUK,KAAV,GAAkBhD,IAAlB,EAAf,MACEP,IAAI,CAAC+B,SAAL,CAAemB,KAAK,CAACK,KAAN,GAAchD,IAAd,EAAf,CAHJ,EAIE;IACA,MAAM;MAAEiD;IAAF,IAAa,MAAM,IAAAtE,gBAAA,EAAQ;MAC/BC,IAAI,EAAE,SADyB;MAE/BlB,IAAI,EAAE,QAFyB;MAG/BmB,OAAO,EAAG,0EAHqB;MAI/BC,OAAO,EAAE;IAJsB,CAAR,CAAzB;;IAOA,IAAImE,MAAJ,EAAY;MACVzD,GAAG,CAACmD,KAAJ,GAAY,CACV,GAAGA,KADO,EAEV,GAAGnD,GAAG,CAACmD,KAAJ,CAAUO,MAAV,CACAC,IAAD,IAAkB,CAACR,KAAK,CAAC7B,QAAN,CAAeqC,IAAI,CAACL,OAAL,CAAa,MAAb,EAAqB,EAArB,CAAf,CADlB,CAFO,CAAZ;IAMD;EACF,CApBD,MAoBO;IACLtD,GAAG,CAACmD,KAAJ,GAAYA,KAAZ;EACD;;EAEDnD,GAAG,CAAC9B,IAAD,CAAH,GAAY;IACVyB,MADU;IAEV4B,MAFU;IAGVC,OAAO,EAAEA,OAAO,CAACoC,GAAR,CAAaC,CAAD,IAAe;MAClC,IAAIA,CAAC,KAAKnC,MAAN,IAAgBD,IAApB,EAA0B;QACxB,OAAO,CAACoC,CAAD,EAAI;UAAEpC;QAAF,CAAJ,CAAP;MACD;;MAED,OAAOoC,CAAP;IACD,CANQ;EAHC,CAAZ;;EAYA,IAAI7D,GAAG,CAAC8D,IAAR,EAAc;IACZ,MAAMT,KAAK,GAAI,aAAY9B,MAAO,GAAlC;;IAEA,IAAIvB,GAAG,CAAC8D,IAAJ,CAASC,wBAAb,EAAuC;MACrC,MAAM;QAAEA;MAAF,IAA+B/D,GAAG,CAAC8D,IAAzC;;MAEA,IAAI,CAACC,wBAAwB,CAACzC,QAAzB,CAAkC+B,KAAlC,CAAL,EAA+C;QAC7CU,wBAAwB,CAAC3C,IAAzB,CAA8BiC,KAA9B;MACD;IACF,CAND,MAMO;MACLrD,GAAG,CAAC8D,IAAJ,CAASC,wBAAT,GAAoC,CAACV,KAAD,CAApC;IACD;EACF;;EAEDrD,GAAG,CAACgE,YAAJ,GAAmBhE,GAAG,CAACgE,YAAJ,IAAoB,CAAC,eAAD,CAAvC;;EAEA,IAAI,CAAChE,GAAG,CAACgE,YAAJ,CAAiB1C,QAAjB,CAA2B,GAAEC,MAAO,GAApC,CAAL,EAA8C;IAC5CvB,GAAG,CAACgE,YAAJ,CAAiB5C,IAAjB,CAAuB,GAAEG,MAAO,GAAhC;EACD;;EAED,MAAM/B,gBAAA,CAAGuC,SAAH,CAAajD,GAAb,EAAkBmB,IAAI,CAAC+B,SAAL,CAAehC,GAAf,EAAoB,IAApB,EAA0B,CAA1B,CAAlB,CAAN;EAEA,MAAMiE,WAAW,GAAG,CAClBlF,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgB,YAAhB,CADkB,EAElBU,aAAA,CAAKC,IAAL,CAAUX,IAAV,EAAgB,eAAhB,CAFkB,CAApB;;EAKA,KAAK,MAAM6F,UAAX,IAAyBD,WAAzB,EAAsC;IACpC,IAAI,MAAMzE,gBAAA,CAAGC,UAAH,CAAcyE,UAAd,CAAV,EAAqC;MACnC,MAAMC,OAAO,GAAG,MAAM3E,gBAAA,CAAGW,QAAH,CAAY+D,UAAZ,EAAwB,OAAxB,CAAtB;;MAEA,IAAI,CAACC,OAAO,CAACC,KAAR,CAAc,IAAd,EAAoB9C,QAApB,CAA8B,GAAEC,MAAO,GAAvC,CAAL,EAAiD;QAC/C,MAAM/B,gBAAA,CAAGuC,SAAH,CACJmC,UADI,EAEH,GAAEC,OAAQ,yBAAwB5C,MAAO,KAFtC,CAAN;MAID;IACF;EACF;;EAED8C,OAAO,CAACC,GAAR,CACE,IAAAC,eAAA,EAAQ;AACd,gBAAgBC,cAAA,CAAMC,MAAN,CAAazE,GAAG,CAAC9B,IAAjB,CAAuB;AACvC;AACA,QAAQsG,cAAA,CAAME,OAAN,CACC,GAAEF,cAAA,CAAMG,IAAN,CAAW,oBAAX,CAAiC,aADpC,CAEA,GAAEH,cAAA,CAAMI,IAAN,CAAW,GAAX,CAAgB;AAC1B;AACA,UAAUJ,cAAA,CAAMI,IAAN,CAAW,GAAX,CAAgB;AAC1B;AACA,QAAQJ,cAAA,CAAMC,MAAN,CAAa,YAAb,CAA2B;AACnC,KAVM,CADF;AAaD,CAjTH,EAkTG5F,OAlTH,CAkTW,OAlTX,EAkToB,4BAlTpB,EAkTkD,EAlTlD,EAkTsD,MAAOgG,IAAP,IAAgB;EAAA;;EAClE,MAAMC,MAAM,GAAGtG,QAAQ,CAACuG,MAAT,EAAf;;EAEA,IAAI,EAACD,MAAD,aAACA,MAAD,eAACA,MAAM,CAAEE,MAAT,CAAJ,EAAqB;IACnBtF,MAAM,CAACH,IAAP,CACG,gCAA+BsF,IAAI,CAACI,EAAG,qCAD1C;EAGD;;EAED,MAAMC,OAAgB,GAAGJ,MAAM,CAAEE,MAAjC;;EAEA,IAAI,sBAACE,OAAO,CAAC1D,OAAT,6CAAC,iBAAiBN,MAAlB,CAAJ,EAA8B;IAC5BxB,MAAM,CAACH,IAAP,CACG,6CAA4CR,aAAA,CAAKoG,QAAL,CAC3C9G,IAD2C,EAE3CyG,MAAM,CAAEM,QAFmC,CAG3C,IAJJ;EAMD;;EAED,MAAMzF,MAAM,GAAGuF,OAAO,CAACvF,MAAvB;;EAEA,IAAI,CAACA,MAAL,EAAa;IACXD,MAAM,CAACH,IAAP,CACG,mDAAkDR,aAAA,CAAKoG,QAAL,CACjD9G,IADiD,EAEjDyG,MAAM,CAAEM,QAFyC,CAGjD,IAJJ;EAMD;;EAED,MAAM7D,MAAM,GAAG2D,OAAO,CAAC3D,MAAvB;;EAEA,IAAI,CAACA,MAAL,EAAa;IACX7B,MAAM,CAACH,IAAP,CACG,mDAAkDR,aAAA,CAAKoG,QAAL,CACjD9G,IADiD,EAEjDyG,MAAM,CAAEM,QAFyC,CAGjD,IAJJ;EAMD;;EAED,MAAMC,MAAM,GAAG;IACbC,IAAI,EAAE5F,MAAM,CAAC4F,IADA;IAEbC,IAAI,EAAE7F,MAAM,CAAC6F,IAFA;IAGbC,KAAK,EAAE9F,MAAM,CAAC8F,KAHD;IAIbC,OAAO,EAAE/F,MAAM,CAAC+F;EAJH,CAAf;;EAOA,KAAK,MAAM/D,MAAX,IAAqBwD,OAAO,CAAC1D,OAA7B,EAAuC;IACrC,MAAMkE,UAAU,GAAGC,KAAK,CAACC,OAAN,CAAclE,MAAd,IAAwBA,MAAM,CAAC,CAAD,CAA9B,GAAoCA,MAAvD;IACA,MAAMmE,aAAa,GAAGF,KAAK,CAACC,OAAN,CAAclE,MAAd,IAAwBA,MAAM,CAAC,CAAD,CAA9B,GAAoCC,SAA1D;IAEA0D,MAAM,CAACC,IAAP,CAAa,mBAAkBd,cAAA,CAAMsB,IAAN,CAAWJ,UAAX,CAAuB,EAAtD;;IAEA,QAAQA,UAAR;MACE,KAAK,KAAL;QACE,MAAM,IAAAK,YAAA,EAAS;UACb1H,IADa;UAEbsB,MAAM,EAAEZ,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBsB,MAAnB,CAFK;UAGb4B,MAAM,EAAExC,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBkD,MAAnB,EAAqC,KAArC,CAHK;UAIb2D,OAAO,EAAEW,aAJI;UAKbR;QALa,CAAT,CAAN;QAOA;;MACF,KAAK,UAAL;QACE,MAAM,IAAAY,iBAAA,EAAc;UAClB5H,IADkB;UAElBsB,MAAM,EAAEZ,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBsB,MAAnB,CAFU;UAGlB4B,MAAM,EAAExC,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBkD,MAAnB,EAAqC,UAArC,CAHU;UAIlB2D,OAAO,EAAEW,aAJS;UAKlBR;QALkB,CAAd,CAAN;QAOA;;MACF,KAAK,QAAL;QACE,MAAM,IAAAa,eAAA,EAAY;UAChB7H,IADgB;UAEhBsB,MAAM,EAAEZ,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBsB,MAAnB,CAFQ;UAGhB4B,MAAM,EAAExC,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBkD,MAAnB,EAAqC,QAArC,CAHQ;UAIhB2D,OAAO,EAAEW,aAJO;UAKhBR;QALgB,CAAZ,CAAN;QAOA;;MACF,KAAK,YAAL;QACE,MAAM,IAAAc,mBAAA,EAAgB;UACpB9H,IADoB;UAEpBsB,MAAM,EAAEZ,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBsB,MAAnB,CAFY;UAGpB4B,MAAM,EAAExC,aAAA,CAAKiH,OAAL,CAAa3H,IAAb,EAAmBkD,MAAnB,EAAqC,YAArC,CAHY;UAIpB2D,OAAO,EAAEW,aAJW;UAKpBR;QALoB,CAAhB,CAAN;QAOA;;MACF;QACE3F,MAAM,CAACH,IAAP,CAAa,kBAAiBiF,cAAA,CAAMsB,IAAN,CAAWJ,UAAX,CAAuB,GAArD;IAtCJ;EAwCD;AACF,CAlZH,EAmZGU,aAnZH,GAoZGC,iBApZH,GAqZGpD,MArZH,GAqZY4B,IArZZ"}
@@ -71,17 +71,59 @@ async function build({
71
71
  throw new Error(`Couldn't find a ${_kleur.default.blue('tsconfig.json')} in the project root.`);
72
72
  }
73
73
 
74
- let tsc = options !== null && options !== void 0 && options.tsc ? _path.default.resolve(root, options.tsc) : _path.default.resolve(root, 'node_modules', '.bin', 'tsc') + ((0, _os.platform)() === 'win32' ? '.cmd' : '');
74
+ let tsc;
75
+
76
+ if (options !== null && options !== void 0 && options.tsc) {
77
+ tsc = _path.default.resolve(root, options.tsc);
78
+
79
+ if (!(await _fsExtra.default.pathExists(tsc))) {
80
+ throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed at ${_kleur.default.blue(tsc)}. Please specify the correct path in options or remove it to use the workspace's version.`);
81
+ }
82
+ } else {
83
+ var _execpath$split$pop;
84
+
85
+ const execpath = process.env.npm_execpath;
86
+ const cli = execpath !== null && execpath !== void 0 && (_execpath$split$pop = execpath.split('/').pop()) !== null && _execpath$split$pop !== void 0 && _execpath$split$pop.includes('yarn') ? 'yarn' : 'npm';
87
+
88
+ try {
89
+ if (cli === 'yarn') {
90
+ const result = _crossSpawn.default.sync('yarn', ['bin', 'tsc'], {
91
+ stdio: 'pipe',
92
+ encoding: 'utf-8',
93
+ cwd: root
94
+ });
95
+
96
+ tsc = result.stdout.trim();
97
+ } else {
98
+ const result = _crossSpawn.default.sync('npm', ['bin'], {
99
+ stdio: 'pipe',
100
+ encoding: 'utf-8',
101
+ cwd: root
102
+ });
103
+
104
+ tsc = _path.default.resolve(result.stdout.trim(), 'tsc');
105
+ }
106
+ } catch (e) {
107
+ tsc = _path.default.resolve(root, 'node_modules', '.bin', 'tsc');
108
+ }
109
+
110
+ if ((0, _os.platform)() === 'win32' && !tsc.endsWith('.cmd')) {
111
+ tsc += '.cmd';
112
+ }
113
+ }
75
114
 
76
115
  if (!(await _fsExtra.default.pathExists(tsc))) {
77
116
  try {
78
117
  tsc = await (0, _which.default)('tsc');
79
- report.warn(`Using a global version of ${_kleur.default.blue('tsc')}. Consider adding ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specifying the ${_kleur.default.blue('tsc')} option for the typescript target.`);
118
+
119
+ if (await _fsExtra.default.pathExists(tsc)) {
120
+ report.warn(`Failed to locate 'tsc' in the workspace. Falling back to the globally installed version. Consider adding ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specifying the ${_kleur.default.blue('tsc')} option for the typescript target.`);
121
+ }
80
122
  } catch (e) {// Ignore
81
123
  }
82
124
  }
83
125
 
84
- if (!(await _fsExtra.default.pathExists(tsc))) {
126
+ if (tsc == null || !(await _fsExtra.default.pathExists(tsc))) {
85
127
  throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed under ${_kleur.default.blue('node_modules')} or present in $PATH. Make sure you have added ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specify the ${_kleur.default.blue('tsc')} option for typescript.`);
86
128
  }
87
129
 
@@ -93,7 +135,8 @@ async function build({
93
135
  }
94
136
 
95
137
  const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--emitDeclarationOnly', '--project', project, '--outDir', output], {
96
- stdio: 'inherit'
138
+ stdio: 'inherit',
139
+ cwd: root
97
140
  });
98
141
 
99
142
  if (result.status === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["build","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","noEmit","undefined","push","emitDeclarationOnly","declarationDir","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","platform","which","tsbuildinfo","replace","result","spawn","sync","stdio","status","success","stdout","error","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: { project?: string; tsc?: string };\n};\n\nexport default async function build({\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.noEmit !== undefined) {\n conflicts.push('compilerOptions.noEmit');\n }\n\n if (config.compilerOptions.emitDeclarationOnly !== undefined) {\n conflicts.push('compilerOptions.emitDeclarationOnly');\n }\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc = options?.tsc\n ? path.resolve(root, options.tsc)\n : path.resolve(root, 'node_modules', '.bin', 'tsc') +\n (platform() === 'win32' ? '.cmd' : '');\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n report.warn(\n `Using a global version of ${kleur.blue(\n 'tsc'\n )}. Consider adding ${kleur.blue('typescript')} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n } catch (e) {\n // Ignore\n }\n }\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 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 tsbuildinfo = path.join(\n output,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n { stdio: 'inherit' }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: any) {\n if (e.stdout) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else {\n report.error(e.message);\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAOe,eAAeA,KAAf,CAAqB;EAClCC,IADkC;EAElCC,MAFkC;EAGlCC,MAHkC;EAIlCC;AAJkC,CAArB,EAKH;EACVD,MAAM,CAACE,IAAP,CACG,iCAAgCC,cAAA,CAAMC,IAAN,CAAWC,aAAA,CAAKC,QAAL,CAAcR,IAAd,EAAoBC,MAApB,CAAX,CAAwC,EAD3E;EAIA,MAAM,IAAAQ,YAAA,EAAI,CAACR,MAAD,CAAJ,CAAN;EAEAC,MAAM,CAACE,IAAP,CAAa,oCAAmCC,cAAA,CAAMC,IAAN,CAAW,KAAX,CAAkB,EAAlE;EAEA,MAAMI,OAAO,GAAGP,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAEO,OAAT,GAAmBP,OAAO,CAACO,OAA3B,GAAqC,eAArD;;EACA,MAAMC,QAAQ,GAAGJ,aAAA,CAAKK,IAAL,CAAUZ,IAAV,EAAgBU,OAAhB,CAAjB;;EAEA,IAAI;IACF,IAAI,MAAMG,gBAAA,CAAGC,UAAH,CAAcH,QAAd,CAAV,EAAmC;MACjC,IAAI;QACF,MAAMI,MAAM,GAAGC,aAAA,CAAMC,KAAN,CAAY,MAAMJ,gBAAA,CAAGK,QAAH,CAAYP,QAAZ,EAAsB,OAAtB,CAAlB,CAAf;;QAEA,IAAII,MAAM,CAACI,eAAX,EAA4B;UAC1B,MAAMC,SAAmB,GAAG,EAA5B;;UAEA,IAAIL,MAAM,CAACI,eAAP,CAAuBE,MAAvB,KAAkCC,SAAtC,EAAiD;YAC/CF,SAAS,CAACG,IAAV,CAAe,wBAAf;UACD;;UAED,IAAIR,MAAM,CAACI,eAAP,CAAuBK,mBAAvB,KAA+CF,SAAnD,EAA8D;YAC5DF,SAAS,CAACG,IAAV,CAAe,qCAAf;UACD;;UAED,IAAIR,MAAM,CAACI,eAAP,CAAuBM,cAA3B,EAA2C;YACzCL,SAAS,CAACG,IAAV,CAAe,gCAAf;UACD;;UAED,IACER,MAAM,CAACI,eAAP,CAAuBO,MAAvB,IACAnB,aAAA,CAAKK,IAAL,CAAUZ,IAAV,EAAgBe,MAAM,CAACI,eAAP,CAAuBO,MAAvC,MAAmDzB,MAFrD,EAGE;YACAmB,SAAS,CAACG,IAAV,CAAe,wBAAf;UACD;;UAED,IAAIH,SAAS,CAACO,MAAd,EAAsB;YACpBzB,MAAM,CAAC0B,IAAP,CACG,+GAA8GvB,cAAA,CAAMC,IAAN,CAC7GI,OAD6G,CAE7G,IAAGU,SAAS,CAACS,MAAV,CACH,CAACC,GAAD,EAAMC,IAAN,KACED,GAAG,GAAI,KAAIzB,cAAA,CAAM2B,IAAN,CAAW,GAAX,CAAgB,IAAG3B,cAAA,CAAM4B,MAAN,CAAaF,IAAb,CAAmB,EAFhD,EAGH,EAHG,CAIH,EAPJ;UASD;QACF;MACF,CArCD,CAqCE,OAAOG,CAAP,EAAU;QACVhC,MAAM,CAAC0B,IAAP,CACG,mBAAkBlB,OAAQ,sCAD7B;MAGD;IACF,CA3CD,MA2CO;MACL,MAAM,IAAIyB,KAAJ,CACH,mBAAkB9B,cAAA,CAAMC,IAAN,CAAW,eAAX,CAA4B,uBAD3C,CAAN;IAGD;;IAED,IAAI8B,GAAG,GAAGjC,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAEiC,GAAT,GACN7B,aAAA,CAAK8B,OAAL,CAAarC,IAAb,EAAmBG,OAAO,CAACiC,GAA3B,CADM,GAEN7B,aAAA,CAAK8B,OAAL,CAAarC,IAAb,EAAmB,cAAnB,EAAmC,MAAnC,EAA2C,KAA3C,KACC,IAAAsC,YAAA,QAAe,OAAf,GAAyB,MAAzB,GAAkC,EADnC,CAFJ;;IAKA,IAAI,EAAE,MAAMzB,gBAAA,CAAGC,UAAH,CAAcsB,GAAd,CAAR,CAAJ,EAAiC;MAC/B,IAAI;QACFA,GAAG,GAAG,MAAM,IAAAG,cAAA,EAAM,KAAN,CAAZ;QAEArC,MAAM,CAAC0B,IAAP,CACG,6BAA4BvB,cAAA,CAAMC,IAAN,CAC3B,KAD2B,CAE3B,qBAAoBD,cAAA,CAAMC,IAAN,CAAW,YAAX,CAAyB,YAAWD,cAAA,CAAMC,IAAN,CACxD,iBADwD,CAExD,sBAAqBD,cAAA,CAAMC,IAAN,CACrB,KADqB,CAErB,oCAPJ;MASD,CAZD,CAYE,OAAO4B,CAAP,EAAU,CACV;MACD;IACF;;IAED,IAAI,EAAE,MAAMrB,gBAAA,CAAGC,UAAH,CAAcsB,GAAd,CAAR,CAAJ,EAAiC;MAC/B,MAAM,IAAID,KAAJ,CACH,OAAM9B,cAAA,CAAMC,IAAN,CACL,KADK,CAEL,8CAA6CD,cAAA,CAAMC,IAAN,CAC7C,cAD6C,CAE7C,kDAAiDD,cAAA,CAAMC,IAAN,CACjD,YADiD,CAEjD,YAAWD,cAAA,CAAMC,IAAN,CAAW,iBAAX,CAA8B,mBAAkBD,cAAA,CAAMC,IAAN,CAC3D,KAD2D,CAE3D,yBATE,CAAN;IAWD;;IAED,MAAMkC,WAAW,GAAGjC,aAAA,CAAKK,IAAL,CAClBX,MADkB,EAElBS,OAAO,CAAC+B,OAAR,CAAgB,SAAhB,EAA2B,cAA3B,CAFkB,CAApB;;IAKA,IAAI;MACF,MAAM,IAAAhC,YAAA,EAAI,CAAC+B,WAAD,CAAJ,CAAN;IACD,CAFD,CAEE,OAAON,CAAP,EAAU,CACV;IACD;;IAED,MAAMQ,MAAM,GAAGC,mBAAA,CAAMC,IAAN,CACbR,GADa,EAEb,CACE,UADF,EAEE,eAFF,EAGE,kBAHF,EAIE,uBAJF,EAKE,WALF,EAME1B,OANF,EAOE,UAPF,EAQET,MARF,CAFa,EAYb;MAAE4C,KAAK,EAAE;IAAT,CAZa,CAAf;;IAeA,IAAIH,MAAM,CAACI,MAAP,KAAkB,CAAtB,EAAyB;MACvB,MAAM,IAAArC,YAAA,EAAI,CAAC+B,WAAD,CAAJ,CAAN;MAEAtC,MAAM,CAAC6C,OAAP,CACG,6BAA4B1C,cAAA,CAAMC,IAAN,CAAWC,aAAA,CAAKC,QAAL,CAAcR,IAAd,EAAoBC,MAApB,CAAX,CAAwC,EADvE;IAGD,CAND,MAMO;MACL,MAAM,IAAIkC,KAAJ,CAAU,mCAAV,CAAN;IACD;EACF,CA1HD,CA0HE,OAAOD,CAAP,EAAe;IACf,IAAIA,CAAC,CAACc,MAAN,EAAc;MACZ9C,MAAM,CAAC+C,KAAP,CACG,iDAAgDf,CAAC,CAACc,MAAF,CAASE,QAAT,EAAoB,EADvE;IAGD,CAJD,MAIO;MACLhD,MAAM,CAAC+C,KAAP,CAAaf,CAAC,CAACiB,OAAf;IACD;;IAED,MAAM,IAAIhB,KAAJ,CAAU,mCAAV,CAAN;EACD;AACF"}
1
+ {"version":3,"file":"typescript.js","names":["build","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","noEmit","undefined","push","emitDeclarationOnly","declarationDir","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","status","success","error","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: { project?: string; tsc?: string };\n};\n\nexport default async function build({\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.noEmit !== undefined) {\n conflicts.push('compilerOptions.noEmit');\n }\n\n if (config.compilerOptions.emitDeclarationOnly !== undefined) {\n conflicts.push('compilerOptions.emitDeclarationOnly');\n }\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n try {\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n const result = spawn.sync('npm', ['bin'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = path.resolve(result.stdout.trim(), 'tsc');\n }\n } catch (e) {\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 'tsc' in the workspace. Falling back to the globally installed version. 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 tsbuildinfo = path.join(\n output,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: any) {\n if (e.stdout) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else {\n report.error(e.message);\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.20.1",
3
+ "version": "0.20.3",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -33,7 +33,7 @@
33
33
  "registry": "https://registry.npmjs.org/"
34
34
  },
35
35
  "scripts": {
36
- "prepare": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start"
36
+ "prepack": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start"
37
37
  },
38
38
  "dependencies": {
39
39
  "@babel/core": "^7.18.5",
@@ -74,5 +74,5 @@
74
74
  "@types/yargs": "^17.0.10",
75
75
  "concurrently": "^7.2.2"
76
76
  },
77
- "gitHead": "805bcb851bbf3a8f5c72bcf8362b59a9e46753c7"
77
+ "gitHead": "710d3f91747298695f371f1f85c5b8a6ce258a5f"
78
78
  }