amis-rpc-design/node_modules/@react-native-community/cli/build/commands/init/init.js.map

1 line
11 KiB
Plaintext
Raw Normal View History

2023-10-07 19:42:30 +08:00
{"version":3,"names":["DEFAULT_VERSION","doesDirectoryExist","dir","fs","existsSync","setProjectDirectory","directory","DirectoryAlreadyExistsError","mkdirSync","recursive","process","chdir","error","CLIError","cwd","getTemplateName","name","Object","keys","JSON","parse","readFileSync","path","join","dependencies","createFromTemplate","projectName","templateUri","npm","projectTitle","skipInstall","packageName","logger","debug","log","banner","projectDirectory","loader","getLoader","text","templateSourceDir","mkdtempSync","os","tmpdir","start","installTemplatePackage","succeed","templateName","templateConfig","getTemplateConfig","copyTemplate","templateDir","changePlaceholderInTemplate","placeholderName","placeholderTitle","titlePlaceholder","postInitScript","info","executePostInitScript","installDependencies","root","e","fail","removeSync","PackageManager","installAll","preferYarn","silent","platform","installPods","createTemplateUri","options","version","isTypescriptTemplate","template","warn","createProject","title","initialize","validateProjectName","TemplateAndVersionError","directoryName","relative","projectFolder","printRunInstructions"],"sources":["../../../src/commands/init/init.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport {validateProjectName} from './validate';\nimport DirectoryAlreadyExistsError from './errors/DirectoryAlreadyExistsError';\nimport printRunInstructions from './printRunInstructions';\nimport {\n CLIError,\n logger,\n getLoader,\n Loader,\n} from '@react-native-community/cli-tools';\nimport {\n installTemplatePackage,\n getTemplateConfig,\n copyTemplate,\n executePostInitScript,\n} from './template';\nimport {changePlaceholderInTemplate} from './editTemplate';\nimport * as PackageManager from '../../tools/packageManager';\nimport {installPods} from '@react-native-community/cli-doctor';\nimport banner from './banner';\nimport TemplateAndVersionError from './errors/TemplateAndVersionError';\n\nconst DEFAULT_VERSION = 'latest';\n\ntype Options = {\n template?: string;\n npm?: boolean;\n directory?: string;\n displayName?: string;\n title?: string;\n skipInstall?: boolean;\n version?: string;\n packageName?: string;\n};\n\ninterface TemplateOptions {\n projectName: string;\n templateUri: string;\n npm?: boolean;\n directory: string;\n projectTitle?: string;\n skipInstall?: boolean;\n packageName?: string;\n}\n\nfunction doesDirectoryExist(dir: string) {\n return fs.existsSync(dir);\n}\n\nasync function setProjectDirectory(directory: string) {\n if (doesDirectoryExist(directory)) {\n throw new DirectoryAlreadyExistsError(directory);\n }\n\n try {\n fs.mkdirSync(directory, {recursive: true});\n process.chdir(directory);\n } catch (error) {\n throw new CLIError(\n 'Error occurred while trying to create project directory.',\n error as Error,\n );\n }\n\n return process.cwd();\n}\n\nfunction getTemplateName(cwd: string) {\n // We use package manager to infer the name of the template module for us.\n // That's why we get it from temporary package.json, where the name is the\n // first and only dependency (hence 0).\n const name = Object.keys(\n JSON.parse(fs.readFileSync(path.join(cwd, './package.json'), 'utf8'))\n .dependencies,\n )[0];\n return name;\n}\n\nasync function createFromTemplate({\n projectName,\n templateUri,\n npm,\n directory,\n projectTitle,\n skipInstall,\n packageName,\n}: TemplateOptions) {\n logger.debug('Initializing new project');\n logger.log(banner);\n\n const projectDirectory = await setProjectDirectory(directory);\n\n const loader = getLoader({text: 'Downloading template'});\n const templateSourceDir = fs.mkdtempSync(\n path.join(os.tmpdir(), 'rncli-init-template-'),\n );\n\n try {\n loader.start();\n\n await installTemplatePackage(templateUri, templateSourceDir, npm);\n\n loader.succeed();\n loader.start('Copying template');\n\n const templateName = getTemplateName(templateSourceDir);\n const templateConfig = getTe