create-react-native-library 0.46.0 → 0.47.1

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
@@ -16,7 +16,7 @@ var _input = require("./input");
16
16
  var _dependencies = require("./exampleApp/dependencies");
17
17
  var _inform = require("./inform");
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- const FALLBACK_BOB_VERSION = '0.32.0';
19
+ const FALLBACK_BOB_VERSION = '0.36.0';
20
20
  _yargs.default.command('$0 [name]', 'create a react native library', _input.acceptedArgs,
21
21
  // @ts-expect-error Some types are still incompatible
22
22
  create).demandCommand().recommendCommands().fail(_inform.printErrorHelp).parserConfiguration({
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_yargs","_ora","_prompt","_generateExampleApp","_addCodegenBuildScript","_initialCommit","_assert","_resolveNpmPackageVersion","_template","_input","_dependencies","_inform","e","__esModule","default","FALLBACK_BOB_VERSION","yargs","command","acceptedArgs","create","demandCommand","recommendCommands","fail","printErrorHelp","parserConfiguration","strict","argv","_argv","_","$0","bobVersionPromise","resolveNpmPackageVersion","local","promptLocalLibrary","folder","promptPath","assertNpxExists","basename","path","questions","createQuestions","assertUserInput","promptAnswers","prompt","answers","bobVersion","config","generateTemplateConfiguration","fs","mkdirp","reactNativeVersion","printUsedRNVersion","spinner","ora","start","example","text","generateExampleApp","type","dest","arch","project","applyTemplates","rootPackageJson","readJson","join","devDependencies","getDependencyVersionsFromExampleApp","addCodegenBuildScript","libraryMetadata","createMetadata","writeJson","spaces","createInitialGitCommit","succeed","kleur","yellow","relative","process","cwd","printNextSteps","hasPackageJson","pathExists","name","message","initial","includes","validate","input","pathExistsSync","console","log","blue","exit"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport yargs from 'yargs';\nimport ora from 'ora';\nimport { prompt } from './utils/prompt';\nimport generateExampleApp from './exampleApp/generateExampleApp';\nimport { addCodegenBuildScript } from './exampleApp/addCodegenBuildScript';\nimport { createInitialGitCommit } from './utils/initialCommit';\nimport { assertUserInput, assertNpxExists } from './utils/assert';\nimport { resolveNpmPackageVersion } from './utils/resolveNpmPackageVersion';\nimport { applyTemplates, generateTemplateConfiguration } from './template';\nimport {\n createQuestions,\n createMetadata,\n type Answers,\n acceptedArgs,\n type Args,\n} from './input';\nimport { getDependencyVersionsFromExampleApp } from './exampleApp/dependencies';\nimport { printErrorHelp, printNextSteps, printUsedRNVersion } from './inform';\n\nconst FALLBACK_BOB_VERSION = '0.32.0';\n\nyargs\n .command(\n '$0 [name]',\n 'create a react native library',\n acceptedArgs,\n // @ts-expect-error Some types are still incompatible\n create\n )\n .demandCommand()\n .recommendCommands()\n .fail(printErrorHelp)\n .parserConfiguration({\n // don't pass kebab-case args to handler.\n 'strip-dashed': true,\n })\n .strict().argv;\n\nasync function create(_argv: yargs.Arguments<Args>) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { _, $0, ...argv } = _argv;\n\n // Prefetch bob version in background while asking questions\n const bobVersionPromise = resolveNpmPackageVersion(\n 'react-native-builder-bob',\n FALLBACK_BOB_VERSION\n );\n\n const local = await promptLocalLibrary(argv);\n const folder = await promptPath(argv, local);\n\n await assertNpxExists();\n\n const basename = path.basename(folder);\n\n const questions = await createQuestions({ basename, local });\n\n assertUserInput(questions, argv);\n\n const promptAnswers = await prompt(questions, argv);\n const answers: Answers = {\n ...promptAnswers,\n local,\n };\n\n assertUserInput(questions, answers);\n\n const bobVersion = await bobVersionPromise;\n\n const config = generateTemplateConfiguration({\n bobVersion,\n basename,\n answers,\n });\n\n await fs.mkdirp(folder);\n\n if (answers.reactNativeVersion != null) {\n printUsedRNVersion(answers.reactNativeVersion, config);\n }\n\n const spinner = ora().start();\n\n if (config.example !== 'none') {\n spinner.text = 'Generating example app';\n\n await generateExampleApp({\n type: config.example,\n dest: folder,\n arch: config.project.arch,\n project: config.project,\n bobVersion,\n reactNativeVersion: answers.reactNativeVersion,\n });\n }\n\n spinner.text = 'Copying files';\n\n await applyTemplates(answers, config, folder);\n\n const rootPackageJson = await fs.readJson(path.join(folder, 'package.json'));\n\n if (config.example !== 'none') {\n const { devDependencies } = await getDependencyVersionsFromExampleApp(\n folder,\n config.example\n );\n\n rootPackageJson.devDependencies = rootPackageJson.devDependencies\n ? {\n ...rootPackageJson.devDependencies,\n ...devDependencies,\n }\n : devDependencies;\n }\n\n if (config.example === 'vanilla' && config.project.arch === 'new') {\n addCodegenBuildScript(folder);\n }\n\n const libraryMetadata = createMetadata(answers);\n\n rootPackageJson['create-react-native-library'] = libraryMetadata;\n\n await fs.writeJson(path.join(folder, 'package.json'), rootPackageJson, {\n spaces: 2,\n });\n\n if (!local) {\n await createInitialGitCommit(folder);\n }\n\n spinner.succeed(\n `Project created successfully at ${kleur.yellow(\n path.relative(process.cwd(), folder)\n )}!\\n`\n );\n\n await printNextSteps(local, folder, config);\n}\n\nasync function promptLocalLibrary(argv: Args) {\n let local = false;\n\n if (typeof argv.local === 'boolean') {\n local = argv.local;\n } else {\n const hasPackageJson = await fs.pathExists(\n path.join(process.cwd(), 'package.json')\n );\n\n if (hasPackageJson) {\n // If we're under a project with package.json, ask the user if they want to create a local library\n const answers = await prompt({\n type: 'confirm',\n name: 'local',\n message: `Looks like you're under a project folder. Do you want to create a local library?`,\n initial: true,\n });\n\n local = answers.local;\n }\n }\n\n return local;\n}\n\nasync function promptPath(argv: Args, local: boolean) {\n let folder: string;\n\n if (argv.name && !local) {\n folder = path.join(process.cwd(), argv.name);\n } else {\n const answers = await prompt({\n type: 'text',\n name: 'folder',\n message: `Where do you want to create the library?`,\n initial:\n local && argv.name && !argv.name.includes('/')\n ? `modules/${argv.name}`\n : argv.name,\n validate: (input) => {\n if (!input) {\n return 'Cannot be empty';\n }\n\n if (fs.pathExistsSync(path.join(process.cwd(), input))) {\n return 'Folder already exists';\n }\n\n return true;\n },\n });\n\n folder = path.join(process.cwd(), answers.folder);\n }\n\n if (await fs.pathExists(folder)) {\n console.log(\n `A folder already exists at ${kleur.blue(\n folder\n )}! Please specify another folder name or delete the existing one.`\n );\n\n process.exit(1);\n }\n\n return folder;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_yargs","_ora","_prompt","_generateExampleApp","_addCodegenBuildScript","_initialCommit","_assert","_resolveNpmPackageVersion","_template","_input","_dependencies","_inform","e","__esModule","default","FALLBACK_BOB_VERSION","yargs","command","acceptedArgs","create","demandCommand","recommendCommands","fail","printErrorHelp","parserConfiguration","strict","argv","_argv","_","$0","bobVersionPromise","resolveNpmPackageVersion","local","promptLocalLibrary","folder","promptPath","assertNpxExists","basename","path","questions","createQuestions","assertUserInput","promptAnswers","prompt","answers","bobVersion","config","generateTemplateConfiguration","fs","mkdirp","reactNativeVersion","printUsedRNVersion","spinner","ora","start","example","text","generateExampleApp","type","dest","arch","project","applyTemplates","rootPackageJson","readJson","join","devDependencies","getDependencyVersionsFromExampleApp","addCodegenBuildScript","libraryMetadata","createMetadata","writeJson","spaces","createInitialGitCommit","succeed","kleur","yellow","relative","process","cwd","printNextSteps","hasPackageJson","pathExists","name","message","initial","includes","validate","input","pathExistsSync","console","log","blue","exit"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport yargs from 'yargs';\nimport ora from 'ora';\nimport { prompt } from './utils/prompt';\nimport generateExampleApp from './exampleApp/generateExampleApp';\nimport { addCodegenBuildScript } from './exampleApp/addCodegenBuildScript';\nimport { createInitialGitCommit } from './utils/initialCommit';\nimport { assertUserInput, assertNpxExists } from './utils/assert';\nimport { resolveNpmPackageVersion } from './utils/resolveNpmPackageVersion';\nimport { applyTemplates, generateTemplateConfiguration } from './template';\nimport {\n createQuestions,\n createMetadata,\n type Answers,\n acceptedArgs,\n type Args,\n} from './input';\nimport { getDependencyVersionsFromExampleApp } from './exampleApp/dependencies';\nimport { printErrorHelp, printNextSteps, printUsedRNVersion } from './inform';\n\nconst FALLBACK_BOB_VERSION = '0.36.0';\n\nyargs\n .command(\n '$0 [name]',\n 'create a react native library',\n acceptedArgs,\n // @ts-expect-error Some types are still incompatible\n create\n )\n .demandCommand()\n .recommendCommands()\n .fail(printErrorHelp)\n .parserConfiguration({\n // don't pass kebab-case args to handler.\n 'strip-dashed': true,\n })\n .strict().argv;\n\nasync function create(_argv: yargs.Arguments<Args>) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { _, $0, ...argv } = _argv;\n\n // Prefetch bob version in background while asking questions\n const bobVersionPromise = resolveNpmPackageVersion(\n 'react-native-builder-bob',\n FALLBACK_BOB_VERSION\n );\n\n const local = await promptLocalLibrary(argv);\n const folder = await promptPath(argv, local);\n\n await assertNpxExists();\n\n const basename = path.basename(folder);\n\n const questions = await createQuestions({ basename, local });\n\n assertUserInput(questions, argv);\n\n const promptAnswers = await prompt(questions, argv);\n const answers: Answers = {\n ...promptAnswers,\n local,\n };\n\n assertUserInput(questions, answers);\n\n const bobVersion = await bobVersionPromise;\n\n const config = generateTemplateConfiguration({\n bobVersion,\n basename,\n answers,\n });\n\n await fs.mkdirp(folder);\n\n if (answers.reactNativeVersion != null) {\n printUsedRNVersion(answers.reactNativeVersion, config);\n }\n\n const spinner = ora().start();\n\n if (config.example !== 'none') {\n spinner.text = 'Generating example app';\n\n await generateExampleApp({\n type: config.example,\n dest: folder,\n arch: config.project.arch,\n project: config.project,\n bobVersion,\n reactNativeVersion: answers.reactNativeVersion,\n });\n }\n\n spinner.text = 'Copying files';\n\n await applyTemplates(answers, config, folder);\n\n const rootPackageJson = await fs.readJson(path.join(folder, 'package.json'));\n\n if (config.example !== 'none') {\n const { devDependencies } = await getDependencyVersionsFromExampleApp(\n folder,\n config.example\n );\n\n rootPackageJson.devDependencies = rootPackageJson.devDependencies\n ? {\n ...rootPackageJson.devDependencies,\n ...devDependencies,\n }\n : devDependencies;\n }\n\n if (config.example === 'vanilla' && config.project.arch === 'new') {\n addCodegenBuildScript(folder);\n }\n\n const libraryMetadata = createMetadata(answers);\n\n rootPackageJson['create-react-native-library'] = libraryMetadata;\n\n await fs.writeJson(path.join(folder, 'package.json'), rootPackageJson, {\n spaces: 2,\n });\n\n if (!local) {\n await createInitialGitCommit(folder);\n }\n\n spinner.succeed(\n `Project created successfully at ${kleur.yellow(\n path.relative(process.cwd(), folder)\n )}!\\n`\n );\n\n await printNextSteps(local, folder, config);\n}\n\nasync function promptLocalLibrary(argv: Args) {\n let local = false;\n\n if (typeof argv.local === 'boolean') {\n local = argv.local;\n } else {\n const hasPackageJson = await fs.pathExists(\n path.join(process.cwd(), 'package.json')\n );\n\n if (hasPackageJson) {\n // If we're under a project with package.json, ask the user if they want to create a local library\n const answers = await prompt({\n type: 'confirm',\n name: 'local',\n message: `Looks like you're under a project folder. Do you want to create a local library?`,\n initial: true,\n });\n\n local = answers.local;\n }\n }\n\n return local;\n}\n\nasync function promptPath(argv: Args, local: boolean) {\n let folder: string;\n\n if (argv.name && !local) {\n folder = path.join(process.cwd(), argv.name);\n } else {\n const answers = await prompt({\n type: 'text',\n name: 'folder',\n message: `Where do you want to create the library?`,\n initial:\n local && argv.name && !argv.name.includes('/')\n ? `modules/${argv.name}`\n : argv.name,\n validate: (input) => {\n if (!input) {\n return 'Cannot be empty';\n }\n\n if (fs.pathExistsSync(path.join(process.cwd(), input))) {\n return 'Folder already exists';\n }\n\n return true;\n },\n });\n\n folder = path.join(process.cwd(), answers.folder);\n }\n\n if (await fs.pathExists(folder)) {\n console.log(\n `A folder already exists at ${kleur.blue(\n folder\n )}! Please specify another folder name or delete the existing one.`\n );\n\n process.exit(1);\n }\n\n return folder;\n}\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,yBAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AAOA,IAAAa,aAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AAA8E,SAAAD,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9E,MAAMG,oBAAoB,GAAG,QAAQ;AAErCC,cAAK,CACFC,OAAO,CACN,WAAW,EACX,+BAA+B,EAC/BC,mBAAY;AACZ;AACAC,MACF,CAAC,CACAC,aAAa,CAAC,CAAC,CACfC,iBAAiB,CAAC,CAAC,CACnBC,IAAI,CAACC,sBAAc,CAAC,CACpBC,mBAAmB,CAAC;EACnB;EACA,cAAc,EAAE;AAClB,CAAC,CAAC,CACDC,MAAM,CAAC,CAAC,CAACC,IAAI;AAEhB,eAAeP,MAAMA,CAACQ,KAA4B,EAAE;EAClD;EACA,MAAM;IAAEC,CAAC;IAAEC,EAAE;IAAE,GAAGH;EAAK,CAAC,GAAGC,KAAK;;EAEhC;EACA,MAAMG,iBAAiB,GAAG,IAAAC,kDAAwB,EAChD,0BAA0B,EAC1BhB,oBACF,CAAC;EAED,MAAMiB,KAAK,GAAG,MAAMC,kBAAkB,CAACP,IAAI,CAAC;EAC5C,MAAMQ,MAAM,GAAG,MAAMC,UAAU,CAACT,IAAI,EAAEM,KAAK,CAAC;EAE5C,MAAM,IAAAI,uBAAe,EAAC,CAAC;EAEvB,MAAMC,QAAQ,GAAGC,aAAI,CAACD,QAAQ,CAACH,MAAM,CAAC;EAEtC,MAAMK,SAAS,GAAG,MAAM,IAAAC,sBAAe,EAAC;IAAEH,QAAQ;IAAEL;EAAM,CAAC,CAAC;EAE5D,IAAAS,uBAAe,EAACF,SAAS,EAAEb,IAAI,CAAC;EAEhC,MAAMgB,aAAa,GAAG,MAAM,IAAAC,cAAM,EAACJ,SAAS,EAAEb,IAAI,CAAC;EACnD,MAAMkB,OAAgB,GAAG;IACvB,GAAGF,aAAa;IAChBV;EACF,CAAC;EAED,IAAAS,uBAAe,EAACF,SAAS,EAAEK,OAAO,CAAC;EAEnC,MAAMC,UAAU,GAAG,MAAMf,iBAAiB;EAE1C,MAAMgB,MAAM,GAAG,IAAAC,uCAA6B,EAAC;IAC3CF,UAAU;IACVR,QAAQ;IACRO;EACF,CAAC,CAAC;EAEF,MAAMI,gBAAE,CAACC,MAAM,CAACf,MAAM,CAAC;EAEvB,IAAIU,OAAO,CAACM,kBAAkB,IAAI,IAAI,EAAE;IACtC,IAAAC,0BAAkB,EAACP,OAAO,CAACM,kBAAkB,EAAEJ,MAAM,CAAC;EACxD;EAEA,MAAMM,OAAO,GAAG,IAAAC,YAAG,EAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EAE7B,IAAIR,MAAM,CAACS,OAAO,KAAK,MAAM,EAAE;IAC7BH,OAAO,CAACI,IAAI,GAAG,wBAAwB;IAEvC,MAAM,IAAAC,2BAAkB,EAAC;MACvBC,IAAI,EAAEZ,MAAM,CAACS,OAAO;MACpBI,IAAI,EAAEzB,MAAM;MACZ0B,IAAI,EAAEd,MAAM,CAACe,OAAO,CAACD,IAAI;MACzBC,OAAO,EAAEf,MAAM,CAACe,OAAO;MACvBhB,UAAU;MACVK,kBAAkB,EAAEN,OAAO,CAACM;IAC9B,CAAC,CAAC;EACJ;EAEAE,OAAO,CAACI,IAAI,GAAG,eAAe;EAE9B,MAAM,IAAAM,wBAAc,EAAClB,OAAO,EAAEE,MAAM,EAAEZ,MAAM,CAAC;EAE7C,MAAM6B,eAAe,GAAG,MAAMf,gBAAE,CAACgB,QAAQ,CAAC1B,aAAI,CAAC2B,IAAI,CAAC/B,MAAM,EAAE,cAAc,CAAC,CAAC;EAE5E,IAAIY,MAAM,CAACS,OAAO,KAAK,MAAM,EAAE;IAC7B,MAAM;MAAEW;IAAgB,CAAC,GAAG,MAAM,IAAAC,iDAAmC,EACnEjC,MAAM,EACNY,MAAM,CAACS,OACT,CAAC;IAEDQ,eAAe,CAACG,eAAe,GAAGH,eAAe,CAACG,eAAe,GAC7D;MACE,GAAGH,eAAe,CAACG,eAAe;MAClC,GAAGA;IACL,CAAC,GACDA,eAAe;EACrB;EAEA,IAAIpB,MAAM,CAACS,OAAO,KAAK,SAAS,IAAIT,MAAM,CAACe,OAAO,CAACD,IAAI,KAAK,KAAK,EAAE;IACjE,IAAAQ,4CAAqB,EAAClC,MAAM,CAAC;EAC/B;EAEA,MAAMmC,eAAe,GAAG,IAAAC,qBAAc,EAAC1B,OAAO,CAAC;EAE/CmB,eAAe,CAAC,6BAA6B,CAAC,GAAGM,eAAe;EAEhE,MAAMrB,gBAAE,CAACuB,SAAS,CAACjC,aAAI,CAAC2B,IAAI,CAAC/B,MAAM,EAAE,cAAc,CAAC,EAAE6B,eAAe,EAAE;IACrES,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,IAAI,CAACxC,KAAK,EAAE;IACV,MAAM,IAAAyC,qCAAsB,EAACvC,MAAM,CAAC;EACtC;EAEAkB,OAAO,CAACsB,OAAO,CACb,mCAAmCC,cAAK,CAACC,MAAM,CAC7CtC,aAAI,CAACuC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE7C,MAAM,CACrC,CAAC,KACH,CAAC;EAED,MAAM,IAAA8C,sBAAc,EAAChD,KAAK,EAAEE,MAAM,EAAEY,MAAM,CAAC;AAC7C;AAEA,eAAeb,kBAAkBA,CAACP,IAAU,EAAE;EAC5C,IAAIM,KAAK,GAAG,KAAK;EAEjB,IAAI,OAAON,IAAI,CAACM,KAAK,KAAK,SAAS,EAAE;IACnCA,KAAK,GAAGN,IAAI,CAACM,KAAK;EACpB,CAAC,MAAM;IACL,MAAMiD,cAAc,GAAG,MAAMjC,gBAAE,CAACkC,UAAU,CACxC5C,aAAI,CAAC2B,IAAI,CAACa,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,cAAc,CACzC,CAAC;IAED,IAAIE,cAAc,EAAE;MAClB;MACA,MAAMrC,OAAO,GAAG,MAAM,IAAAD,cAAM,EAAC;QAC3Be,IAAI,EAAE,SAAS;QACfyB,IAAI,EAAE,OAAO;QACbC,OAAO,EAAE,kFAAkF;QAC3FC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFrD,KAAK,GAAGY,OAAO,CAACZ,KAAK;IACvB;EACF;EAEA,OAAOA,KAAK;AACd;AAEA,eAAeG,UAAUA,CAACT,IAAU,EAAEM,KAAc,EAAE;EACpD,IAAIE,MAAc;EAElB,IAAIR,IAAI,CAACyD,IAAI,IAAI,CAACnD,KAAK,EAAE;IACvBE,MAAM,GAAGI,aAAI,CAAC2B,IAAI,CAACa,OAAO,CAACC,GAAG,CAAC,CAAC,EAAErD,IAAI,CAACyD,IAAI,CAAC;EAC9C,CAAC,MAAM;IACL,MAAMvC,OAAO,GAAG,MAAM,IAAAD,cAAM,EAAC;MAC3Be,IAAI,EAAE,MAAM;MACZyB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,0CAA0C;MACnDC,OAAO,EACLrD,KAAK,IAAIN,IAAI,CAACyD,IAAI,IAAI,CAACzD,IAAI,CAACyD,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,GAC1C,WAAW5D,IAAI,CAACyD,IAAI,EAAE,GACtBzD,IAAI,CAACyD,IAAI;MACfI,QAAQ,EAAGC,KAAK,IAAK;QACnB,IAAI,CAACA,KAAK,EAAE;UACV,OAAO,iBAAiB;QAC1B;QAEA,IAAIxC,gBAAE,CAACyC,cAAc,CAACnD,aAAI,CAAC2B,IAAI,CAACa,OAAO,CAACC,GAAG,CAAC,CAAC,EAAES,KAAK,CAAC,CAAC,EAAE;UACtD,OAAO,uBAAuB;QAChC;QAEA,OAAO,IAAI;MACb;IACF,CAAC,CAAC;IAEFtD,MAAM,GAAGI,aAAI,CAAC2B,IAAI,CAACa,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEnC,OAAO,CAACV,MAAM,CAAC;EACnD;EAEA,IAAI,MAAMc,gBAAE,CAACkC,UAAU,CAAChD,MAAM,CAAC,EAAE;IAC/BwD,OAAO,CAACC,GAAG,CACT,8BAA8BhB,cAAK,CAACiB,IAAI,CACtC1D,MACF,CAAC,kEACH,CAAC;IAED4C,OAAO,CAACe,IAAI,CAAC,CAAC,CAAC;EACjB;EAEA,OAAO3D,MAAM;AACf","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-react-native-library",
3
- "version": "0.46.0",
3
+ "version": "0.47.1",
4
4
  "description": "CLI to scaffold React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -30,7 +30,7 @@
30
30
  "templates"
31
31
  ],
32
32
  "engines": {
33
- "node": ">= 18.0.0"
33
+ "node": ">= 20.0.0"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public",
@@ -65,5 +65,5 @@
65
65
  "@types/validate-npm-package-name": "^3.0.3",
66
66
  "@types/yargs": "^17.0.10"
67
67
  },
68
- "gitHead": "0bacd58eab2ce56f20be84009aa6f4315dd95c52"
68
+ "gitHead": "ec2c874cd7ee78ecdadb97ea1f978121663ad41f"
69
69
  }
@@ -5,7 +5,7 @@ runs:
5
5
  using: composite
6
6
  steps:
7
7
  - name: Setup Node.js
8
- uses: actions/setup-node@v3
8
+ uses: actions/setup-node@v4
9
9
  with:
10
10
  node-version-file: .nvmrc
11
11
 
@@ -15,7 +15,7 @@ jobs:
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
17
  - name: Checkout
18
- uses: actions/checkout@v3
18
+ uses: actions/checkout@v4
19
19
 
20
20
  - name: Setup
21
21
  uses: ./.github/actions/setup
@@ -30,7 +30,7 @@ jobs:
30
30
  runs-on: ubuntu-latest
31
31
  steps:
32
32
  - name: Checkout
33
- uses: actions/checkout@v3
33
+ uses: actions/checkout@v4
34
34
 
35
35
  - name: Setup
36
36
  uses: ./.github/actions/setup
@@ -42,7 +42,7 @@ jobs:
42
42
  runs-on: ubuntu-latest
43
43
  steps:
44
44
  - name: Checkout
45
- uses: actions/checkout@v3
45
+ uses: actions/checkout@v4
46
46
 
47
47
  - name: Setup
48
48
  uses: ./.github/actions/setup
@@ -57,7 +57,7 @@ jobs:
57
57
  TURBO_CACHE_DIR: .turbo/android
58
58
  steps:
59
59
  - name: Checkout
60
- uses: actions/checkout@v3
60
+ uses: actions/checkout@v4
61
61
 
62
62
  - name: Setup
63
63
  uses: ./.github/actions/setup
@@ -80,7 +80,7 @@ jobs:
80
80
 
81
81
  - name: Install JDK
82
82
  if: env.turbo_cache_hit != 1
83
- uses: actions/setup-java@v3
83
+ uses: actions/setup-java@v4
84
84
  with:
85
85
  distribution: 'zulu'
86
86
  java-version: '17'
@@ -113,7 +113,7 @@ jobs:
113
113
  TURBO_CACHE_DIR: .turbo/ios
114
114
  steps:
115
115
  - name: Checkout
116
- uses: actions/checkout@v3
116
+ uses: actions/checkout@v4
117
117
 
118
118
  - name: Setup
119
119
  uses: ./.github/actions/setup
@@ -169,7 +169,7 @@ jobs:
169
169
  runs-on: ubuntu-latest
170
170
  steps:
171
171
  - name: Checkout
172
- uses: actions/checkout@v3
172
+ uses: actions/checkout@v4
173
173
 
174
174
  - name: Setup
175
175
  uses: ./.github/actions/setup
@@ -28,6 +28,7 @@ DerivedData
28
28
  *.ipa
29
29
  *.xcuserstate
30
30
  project.xcworkspace
31
+ **/.xcode.env.local
31
32
 
32
33
  # Android/IJ
33
34
  #
@@ -1 +1 @@
1
- v18
1
+ v20
@@ -1,6 +1,7 @@
1
1
  buildscript {
2
- // Buildscript is evaluated before everything else so we can't use getExtOrDefault
3
- def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["<%- project.name -%>_kotlinVersion"]
2
+ ext.getExtOrDefault = {name ->
3
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['<%- project.name -%>_' + name]
4
+ }
4
5
 
5
6
  repositories {
6
7
  google()
@@ -8,16 +9,18 @@ buildscript {
8
9
  }
9
10
 
10
11
  dependencies {
11
- classpath "com.android.tools.build:gradle:7.2.1"
12
+ classpath "com.android.tools.build:gradle:8.7.2"
12
13
  // noinspection DifferentKotlinGradleVersion
13
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
14
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
14
15
  }
15
16
  }
16
17
 
18
+ <% if (project.cpp) { -%>
17
19
  def reactNativeArchitectures() {
18
20
  def value = rootProject.getProperties().get("reactNativeArchitectures")
19
21
  return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
20
22
  }
23
+ <% } -%>
21
24
 
22
25
  def isNewArchitectureEnabled() {
23
26
  return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
@@ -30,10 +33,6 @@ if (isNewArchitectureEnabled()) {
30
33
  apply plugin: "com.facebook.react"
31
34
  }
32
35
 
33
- def getExtOrDefault(name) {
34
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["<%- project.name -%>_" + name]
35
- }
36
-
37
36
  def getExtOrIntegerDefault(name) {
38
37
  return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["<%- project.name -%>_" + name]).toInteger()
39
38
  }
@@ -131,10 +130,7 @@ repositories {
131
130
  def kotlin_version = getExtOrDefault("kotlinVersion")
132
131
 
133
132
  dependencies {
134
- // For < 0.71, this will be from the local maven repo
135
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
136
- //noinspection GradleDynamicVersion
137
- implementation "com.facebook.react:react-native:+"
133
+ implementation "com.facebook.react:react-android"
138
134
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
139
135
  }
140
136
 
@@ -1,5 +1,5 @@
1
- <%- project.name -%>_kotlinVersion=1.7.0
2
- <%- project.name -%>_minSdkVersion=21
3
- <%- project.name -%>_targetSdkVersion=31
4
- <%- project.name -%>_compileSdkVersion=31
5
- <%- project.name -%>_ndkversion=21.4.7075529
1
+ <%- project.name -%>_kotlinVersion=2.0.21
2
+ <%- project.name -%>_minSdkVersion=24
3
+ <%- project.name -%>_targetSdkVersion=34
4
+ <%- project.name -%>_compileSdkVersion=35
5
+ <%- project.name -%>_ndkVersion=27.1.12297006
@@ -20,6 +20,7 @@ Pod::Spec.new do |s|
20
20
  s.source_files = "ios/**/*.{h,m,mm,swift}"
21
21
  <% } else if (project.arch !== "legacy") { -%>
22
22
  s.source_files = "ios/**/*.{h,m,mm,cpp}"
23
+ s.private_header_files = "ios/generated/**/*.h"
23
24
  <% } else { -%>
24
25
  s.source_files = "ios/**/*.{h,m,mm}"
25
26
  <% } -%>