def main(self): # Check try: self._check_before() except: return # Input information mys.log("Please type your new Django application information.") # Check namespace try: self._project_name = mys.log("Project name", withInput=True) self._check_namesapce(self._project_name) except: mys.log("Project \"{0}\" is already exists.".format( self._project_name), withError=True, errorDetail= "Please remove duplication of Django project namespace.") return version = mys.log("App version", withInput=True, default="0.0.1") author = mys.log("Author name", withInput=True) email = mys.log("Email", withInput=True) git_url = mys.log("Git URL", withInput=True) license_name = mys.log("License", withInput=True) license_url = mys.log("License Url", withInput=True) description = mys.log("Description", withInput=True) copyrightor = mys.log("Copyrightor", withInput=True, default=author) self._create_new_django_app() # Create logging instance logger = mys.Progress() with proj.InDir("./" + self._project_name): # Generate .gitignore #log("Generating gitignore...") logger.write("Generating gitignore...", withLazy=True) self._create_template_git_project() # Generate README.md logger.update("Generating readme...", withLazy=True) self._create_docs(author, description, license_name) # Generate Miragefile logger.update("Generating Miragefile...", withLazy=True) self._create_miragefile(version, author, email, git_url, license_name, license_url, description, copyrightor) # Add remote repo logger.update("Adding remote repository...", withLazy=True) mys.command("git remote add origin " + git_url) # Create React App self._create_package_json() logger.update("Preparing Angular setup tools...", withLazy=True) logger.update( "Preparing Angular setup tools... ( please wait for a momenet )" ) mys.command("yarn add --dev @angular/cli") # To avoid ng inside the project error, remove package.package.json os.remove("package.json") logger.update( "Configuring Angular setup tools to use Yarn package...") mys.command( "./node_modules/.bin/ng set --global packageManager=yarn") logger.update("Creating Angular app...", withLazy=True) logger.update( "Creating Angular app... ( please wait for a momenet )") mys.command("./node_modules/.bin/ng new shell") if self._plugins == "--nebular": logger.update("Installing Nebular packages...", withLazy=True) logger.update( "Installing Nebular packages... ( please wait for a momenet )" ) with proj.InDir("./shell"): mys.command("yarn add @nebular/theme @nebular/auth") elif self._plugins == "--material": logger.update("Installing material theme packages...") with proj.InDir("./shell"): mys.command("yarn add @angular/material @angular/cdk") elif self._plugins == "--bootstrap": logger.update("Installing Bootstrap theme packages...") with proj.InDir("./shell"): mys.command("yarn add ngx-bootstrap") # Cleaning logger.update("Cleaning...", withLazy=True) fileable.rm("yarn.lock") fileable.rm("package.json") fileable.rm("node_modules/") with proj.InDir("./shell"): fileable.rm(".gitignore") fileable.rm("README.md") # Completed logger.update("Completed!")
def main(self): # Check try: self._check_before() except: return # Input information mys.log("Please type your new Django application information.") # Check namespace try: self._project_name = mys.log("Project name", withInput=True) self._check_namesapce(self._project_name) except: mys.log("Project \"{0}\" is already exists.".format( self._project_name), withError=True, errorDetail= "Please remove duplication of Django project namespace.") return version = mys.log("App version", withInput=True, default="0.0.1") author = mys.log("Author name", withInput=True) email = mys.log("Email", withInput=True) git_url = mys.log("Git URL", withInput=True) license_name = mys.log("License", withInput=True) license_url = mys.log("License Url", withInput=True) description = mys.log("Description", withInput=True) copyrightor = mys.log("Copyrightor", withInput=True, default=author) self._create_new_django_app() # Create logging instance logger = mys.Progress() with proj.InDir("./" + self._project_name): # Generate .gitignore #log("Generating gitignore...") logger.write("Generating gitignore...", withLazy=True) self._create_template_git_project() # Generate README.md logger.update("Generating readme...", withLazy=True) self._create_docs(author, description, license_name) # Generate Miragefile logger.update("Generating Miragefile...", withLazy=True) self._create_miragefile(version, author, email, git_url, license_name, license_url, description, copyrightor) # Add remote repo logger.update("Adding remote repository...", withLazy=True) mys.command("git remote add origin " + git_url) # Create React App logger.update("Creating React app...") self._create_package_json() mys.command("yarn add --dev create-react-app") if self._js_runtime == "--javascript": mys.command("./node_modules/.bin/create-react-app shell") else: mys.command( "./node_modules/.bin/create-react-app --scripts-version=react-scripts-ts shell" ) logger.update("Installing additional packages...") with proj.InDir("./shell"): mys.command("yarn add redux react-redux") mys.command("yarn add react-router react-router-dom") # Cleaning logger.update("Cleaning...", withLazy=True) fileable.rm("yarn.lock") fileable.rm("package.json") fileable.rm("node_modules/") with proj.InDir("./shell"): fileable.rm(".gitignore") fileable.rm("README.md") # Completed logger.update("Completed!")